diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/built-ins/RegExp/unicodeSets | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/unicodeSets')
112 files changed, 4883 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/browser.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/browser.js diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/browser.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/browser.js diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class-escape.js new file mode 100644 index 0000000000..ea3f9f405b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--\d]+$/v, + expression: "[[0-9]--\d]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class.js new file mode 100644 index 0000000000..f149ff6030 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-class.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--[0-9]]+$/v, + expression: "[[0-9]--[0-9]]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-property-escape.js new file mode 100644 index 0000000000..e476bd719e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character-property-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--\p{ASCII_Hex_Digit}]+$/v, + expression: "[[0-9]--\p{ASCII_Hex_Digit}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character.js new file mode 100644 index 0000000000..6eec09aa0a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-character.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--_]+$/v, + expression: "[[0-9]--_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..6503254ddc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-property-of-strings-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[[0-9]--\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-string-literal.js new file mode 100644 index 0000000000..86309091d1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-difference-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[[0-9]--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "1", + "3", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class-escape.js new file mode 100644 index 0000000000..8c3faf65e4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--\d]+$/v, + expression: "[\d--\d]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class.js new file mode 100644 index 0000000000..7d3b670133 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-class.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--[0-9]]+$/v, + expression: "[\d--[0-9]]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-property-escape.js new file mode 100644 index 0000000000..a8d82ac86b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character-property-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--\p{ASCII_Hex_Digit}]+$/v, + expression: "[\d--\p{ASCII_Hex_Digit}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character.js new file mode 100644 index 0000000000..268ab468fa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-character.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--_]+$/v, + expression: "[\d--_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..ee17a5e2a3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-property-of-strings-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\d--\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-string-literal.js new file mode 100644 index 0000000000..7a6478d1d3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-difference-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\d--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "1", + "3", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class-escape.js new file mode 100644 index 0000000000..68f623d94a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&\d]+$/v, + expression: "[\d&&\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class.js new file mode 100644 index 0000000000..37cb873c0c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&[0-9]]+$/v, + expression: "[\d&&[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-property-escape.js new file mode 100644 index 0000000000..a6d151f0ca --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character-property-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[\d&&\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character.js new file mode 100644 index 0000000000..92cf4b567d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-character.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&_]+$/v, + expression: "[\d&&_]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..16d588133f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-property-of-strings-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\d&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-string-literal.js new file mode 100644 index 0000000000..acf2b3bd52 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-intersection-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\d&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "1", + "3", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class-escape.js new file mode 100644 index 0000000000..e824b4aa01 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d\d]+$/v, + expression: "[\d\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class.js new file mode 100644 index 0000000000..379b113a86 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d[0-9]]+$/v, + expression: "[\d[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-property-escape.js new file mode 100644 index 0000000000..60f24ae985 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character-property-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d\p{ASCII_Hex_Digit}]+$/v, + expression: "[\d\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character.js new file mode 100644 index 0000000000..776778a117 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-character.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d_]+$/v, + expression: "[\d_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-property-of-strings-escape.js new file mode 100644 index 0000000000..3b67bf65fa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-property-of-strings-escape.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\d\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-string-literal.js new file mode 100644 index 0000000000..35ddb3e78b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-escape-union-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\d\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\d\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class-escape.js new file mode 100644 index 0000000000..2fa89ae887 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&\d]+$/v, + expression: "[[0-9]&&\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class.js new file mode 100644 index 0000000000..13a22fd440 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&[0-9]]+$/v, + expression: "[[0-9]&&[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-property-escape.js new file mode 100644 index 0000000000..3eb91facc8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character-property-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[[0-9]&&\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character.js new file mode 100644 index 0000000000..8b8f61c038 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-character.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&_]+$/v, + expression: "[[0-9]&&_]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..cfa39ddb49 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-property-of-strings-escape.js @@ -0,0 +1,42 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[[0-9]&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-string-literal.js new file mode 100644 index 0000000000..f37132e414 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-intersection-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[[0-9]&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "1", + "3", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class-escape.js new file mode 100644 index 0000000000..e76568d7de --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]\d]+$/v, + expression: "[[0-9]\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class.js new file mode 100644 index 0000000000..c6d71eb268 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9][0-9]]+$/v, + expression: "[[0-9][0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-property-escape.js new file mode 100644 index 0000000000..885c091174 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character-property-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]\p{ASCII_Hex_Digit}]+$/v, + expression: "[[0-9]\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character.js new file mode 100644 index 0000000000..dafff31b0b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-character.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]_]+$/v, + expression: "[[0-9]_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-property-of-strings-escape.js new file mode 100644 index 0000000000..dadc3bca9f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-property-of-strings-escape.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[[0-9]\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-string-literal.js new file mode 100644 index 0000000000..d518aac33d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-class-union-string-literal.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[[0-9]\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[[0-9]\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class-escape.js new file mode 100644 index 0000000000..4b2d667ee9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class-escape.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--\d]+$/v, + expression: "[_--\d]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class.js new file mode 100644 index 0000000000..097f070131 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-class.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--[0-9]]+$/v, + expression: "[_--[0-9]]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-property-escape.js new file mode 100644 index 0000000000..4f00212d87 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character-property-escape.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--\p{ASCII_Hex_Digit}]+$/v, + expression: "[_--\p{ASCII_Hex_Digit}]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character.js new file mode 100644 index 0000000000..a530645bbb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-character.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--_]+$/v, + expression: "[_--_]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..469b1707e2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-property-of-strings-escape.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[_--\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-string-literal.js new file mode 100644 index 0000000000..0041a2a1c0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-difference-string-literal.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[_--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class-escape.js new file mode 100644 index 0000000000..8e261ca62c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class-escape.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&\d]+$/v, + expression: "[_&&\d]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class.js new file mode 100644 index 0000000000..0c8ecc03ec --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-class.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&[0-9]]+$/v, + expression: "[_&&[0-9]]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-property-escape.js new file mode 100644 index 0000000000..8dcc2f1f64 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character-property-escape.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[_&&\p{ASCII_Hex_Digit}]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character.js new file mode 100644 index 0000000000..4d69f9ba84 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-character.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&_]+$/v, + expression: "[_&&_]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..6b495a4bbf --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-property-of-strings-escape.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[_&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-string-literal.js new file mode 100644 index 0000000000..4c61acc5f3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-intersection-string-literal.js @@ -0,0 +1,34 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[_&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "_", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class-escape.js new file mode 100644 index 0000000000..a13f6a44fa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--\d]+$/v, + expression: "[\p{ASCII_Hex_Digit}--\d]", + matchStrings: [ + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class.js new file mode 100644 index 0000000000..6d2a0472bd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-class.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--[0-9]]+$/v, + expression: "[\p{ASCII_Hex_Digit}--[0-9]]", + matchStrings: [ + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-property-escape.js new file mode 100644 index 0000000000..4563fc6526 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character-property-escape.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{ASCII_Hex_Digit}--\p{ASCII_Hex_Digit}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character.js new file mode 100644 index 0000000000..c3c40c5bab --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-character.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--_]+$/v, + expression: "[\p{ASCII_Hex_Digit}--_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..e6a5a28dc9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-property-of-strings-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{ASCII_Hex_Digit}--\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-string-literal.js new file mode 100644 index 0000000000..fe7d8533a2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-difference-string-literal.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{ASCII_Hex_Digit}--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "1", + "3", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class-escape.js new file mode 100644 index 0000000000..92a5d2c309 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&\d]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class.js new file mode 100644 index 0000000000..993e6079c8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-class.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&[0-9]]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-property-escape.js new file mode 100644 index 0000000000..b67d3c7ba0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character-property-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character.js new file mode 100644 index 0000000000..e3b7555990 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-character.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&_]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&_]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..9d3201a5a2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-property-of-strings-escape.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-string-literal.js new file mode 100644 index 0000000000..056c6ce6c7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-intersection-string-literal.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{ASCII_Hex_Digit}&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "1", + "3", + "5", + "6", + "6\uFE0F\u20E3", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class-escape.js new file mode 100644 index 0000000000..05da070e6a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}\d]+$/v, + expression: "[\p{ASCII_Hex_Digit}\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class.js new file mode 100644 index 0000000000..0f45e91454 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-class.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}[0-9]]+$/v, + expression: "[\p{ASCII_Hex_Digit}[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-property-escape.js new file mode 100644 index 0000000000..dd5a0e3891 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character-property-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{ASCII_Hex_Digit}\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character.js new file mode 100644 index 0000000000..66e40e17f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-character.js @@ -0,0 +1,55 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}_]+$/v, + expression: "[\p{ASCII_Hex_Digit}_]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "_", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-property-of-strings-escape.js new file mode 100644 index 0000000000..9f6b120a02 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-property-of-strings-escape.js @@ -0,0 +1,64 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{ASCII_Hex_Digit}\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-string-literal.js new file mode 100644 index 0000000000..c8da6d8c7e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-property-escape-union-string-literal.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{ASCII_Hex_Digit}\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{ASCII_Hex_Digit}\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class-escape.js new file mode 100644 index 0000000000..a923861572 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class-escape.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_\d]+$/v, + expression: "[_\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class.js new file mode 100644 index 0000000000..8dfce19785 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-class.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_[0-9]]+$/v, + expression: "[_[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-property-escape.js new file mode 100644 index 0000000000..22d8126f4b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character-property-escape.js @@ -0,0 +1,55 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_\p{ASCII_Hex_Digit}]+$/v, + expression: "[_\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "_", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "9\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character.js new file mode 100644 index 0000000000..4ab5191e75 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-character.js @@ -0,0 +1,35 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[__]+$/v, + expression: "[__]", + matchStrings: [ + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-property-of-strings-escape.js new file mode 100644 index 0000000000..6eebf2531b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-property-of-strings-escape.js @@ -0,0 +1,45 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[_\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "_" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-string-literal.js new file mode 100644 index 0000000000..5415a759db --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/character-union-string-literal.js @@ -0,0 +1,38 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[_\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[_\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4", + "9\uFE0F\u20E3", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class-escape.js new file mode 100644 index 0000000000..ea226ee91b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class-escape.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--\d]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--\d]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class.js new file mode 100644 index 0000000000..2633d65d75 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-class.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--[0-9]]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--[0-9]]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-property-escape.js new file mode 100644 index 0000000000..b9059e6a87 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character-property-escape.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--\p{ASCII_Hex_Digit}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character.js new file mode 100644 index 0000000000..b0e2c34454 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-character.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--_]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--_]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..3ee7c822fe --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-property-of-strings-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--\p{Emoji_Keycap_Sequence}]", + matchStrings: [], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-string-literal.js new file mode 100644 index 0000000000..e8e196e602 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-difference-string-literal.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class-escape.js new file mode 100644 index 0000000000..8ea07fbdf8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&\d]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&\d]", + matchStrings: [], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class.js new file mode 100644 index 0000000000..7fa3a4a706 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&[0-9]]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&[0-9]]", + matchStrings: [], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-property-escape.js new file mode 100644 index 0000000000..6c6898f212 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character-property-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&\p{ASCII_Hex_Digit}]", + matchStrings: [], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character.js new file mode 100644 index 0000000000..7dd6517ddc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-character.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&_]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&_]", + matchStrings: [], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..9d575bb488 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-property-of-strings-escape.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-string-literal.js new file mode 100644 index 0000000000..1447201595 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-intersection-string-literal.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class-escape.js new file mode 100644 index 0000000000..04edfead11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class-escape.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}\d]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}\d]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class.js new file mode 100644 index 0000000000..c1a5a351aa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-class.js @@ -0,0 +1,53 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}[0-9]]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}[0-9]]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-property-escape.js new file mode 100644 index 0000000000..bcf103f0cd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character-property-escape.js @@ -0,0 +1,64 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}\p{ASCII_Hex_Digit}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}\p{ASCII_Hex_Digit}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5", + "5\uFE0F\u20E3", + "6", + "6\uFE0F\u20E3", + "7", + "7\uFE0F\u20E3", + "8", + "8\uFE0F\u20E3", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character.js new file mode 100644 index 0000000000..cc98813665 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-character.js @@ -0,0 +1,45 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}_]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}_]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3", + "_" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-property-of-strings-escape.js new file mode 100644 index 0000000000..33ee72e371 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-property-of-strings-escape.js @@ -0,0 +1,44 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-string-literal.js new file mode 100644 index 0000000000..039a93db08 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/property-of-strings-escape-union-string-literal.js @@ -0,0 +1,47 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\p{Emoji_Keycap_Sequence}\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\p{Emoji_Keycap_Sequence}\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/shell.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/shell.js new file mode 100644 index 0000000000..c1400bb204 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/shell.js @@ -0,0 +1,113 @@ +// 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, testPropertyOfStrings, testExtendedCharacterClass, matchValidator] +---*/ + +function buildString(args) { + // Use member expressions rather than destructuring `args` for improved + // compatibility with engines that only implement assignment patterns + // partially or not at all. + const loneCodePoints = args.loneCodePoints; + const ranges = args.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 printCodePoint(codePoint) { + const hex = codePoint + .toString(16) + .toUpperCase() + .padStart(6, "0"); + return `U+${hex}`; +} + +function printStringCodePoints(string) { + const buf = []; + for (const symbol of string) { + const formatted = printCodePoint(symbol.codePointAt(0)); + buf.push(formatted); + } + return buf.join(' '); +} + +function testPropertyEscapes(regExp, string, expression) { + if (!regExp.test(string)) { + for (const symbol of string) { + const hex = printCodePoint(symbol.codePointAt(0)); + assert( + regExp.test(symbol), + `\`${ expression }\` should match U+${ hex } (\`${ symbol }\`)` + ); + } + } +} + +function testPropertyOfStrings(args) { + // Use member expressions rather than destructuring `args` for improved + // compatibility with engines that only implement assignment patterns + // partially or not at all. + const regExp = args.regExp; + const expression = args.expression; + const matchStrings = args.matchStrings; + const nonMatchStrings = args.nonMatchStrings; + const allStrings = matchStrings.join(''); + if (!regExp.test(allStrings)) { + for (const string of matchStrings) { + assert( + regExp.test(string), + `\`${ expression }\` should match ${ string } (U+${ printStringCodePoints(string) })` + ); + } + } + + const allNonMatchStrings = nonMatchStrings.join(''); + if (regExp.test(allNonMatchStrings)) { + for (const string of nonMatchStrings) { + assert( + !regExp.test(string), + `\`${ expression }\` should not match ${ string } (U+${ printStringCodePoints(string) })` + ); + } + } +} + +// The exact same logic can be used to test extended character classes +// as enabled through the RegExp `v` flag. This is useful to test not +// just standalone properties of strings, but also string literals, and +// set operations. +const testExtendedCharacterClass = testPropertyOfStrings; + +// Returns a function that validates a 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/unicodeSets/generated/string-literal-difference-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-class-escape.js new file mode 100644 index 0000000000..b13c938c84 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-class-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--\d]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--\d]", + matchStrings: [ + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-class.js new file mode 100644 index 0000000000..a3ef0552dd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-class.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--[0-9]]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--[0-9]]", + matchStrings: [ + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-property-escape.js new file mode 100644 index 0000000000..ba1d261d8c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character-property-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--\p{ASCII_Hex_Digit}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--\p{ASCII_Hex_Digit}]", + matchStrings: [ + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character.js new file mode 100644 index 0000000000..6eb6101bd2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-character.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--_]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--_]", + matchStrings: [ + "0", + "2", + "4", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-property-of-strings-escape.js new file mode 100644 index 0000000000..536ea5bf38 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-property-of-strings-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-string-literal.js new file mode 100644 index 0000000000..e2f2390067 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-difference-string-literal.js @@ -0,0 +1,36 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}--\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}--\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class-escape.js new file mode 100644 index 0000000000..1237b67962 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&\d]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&\d]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class.js new file mode 100644 index 0000000000..460b2804b1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-class.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&[0-9]]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&[0-9]]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-property-escape.js new file mode 100644 index 0000000000..e7ad1ebeb3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character-property-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&\p{ASCII_Hex_Digit}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "2", + "4" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character.js new file mode 100644 index 0000000000..ae77f9f293 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-character.js @@ -0,0 +1,36 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&_]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&_]", + matchStrings: [], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "9\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-property-of-strings-escape.js new file mode 100644 index 0000000000..5076985e42 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-property-of-strings-escape.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "0", + "2", + "4", + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-string-literal.js new file mode 100644 index 0000000000..68e11545d4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-intersection-string-literal.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}&&\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}&&\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class-escape.js new file mode 100644 index 0000000000..18cbc329f1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class-escape.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}\d]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}\d]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class.js new file mode 100644 index 0000000000..b9f90c941f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-class.js @@ -0,0 +1,43 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}[0-9]]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}[0-9]]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-property-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-property-escape.js new file mode 100644 index 0000000000..f99051d766 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character-property-escape.js @@ -0,0 +1,54 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}\p{ASCII_Hex_Digit}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}\p{ASCII_Hex_Digit}]", + matchStrings: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "9\uFE0F\u20E3", + "A", + "B", + "C", + "D", + "E", + "F", + "a", + "b", + "c", + "d", + "e", + "f" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character.js new file mode 100644 index 0000000000..e0dec7af49 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-character.js @@ -0,0 +1,38 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}_]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}_]", + matchStrings: [ + "0", + "2", + "4", + "9\uFE0F\u20E3", + "_" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-property-of-strings-escape.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-property-of-strings-escape.js new file mode 100644 index 0000000000..7a7c752812 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-property-of-strings-escape.js @@ -0,0 +1,47 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-unicode-property-escapes, regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}\p{Emoji_Keycap_Sequence}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}\p{Emoji_Keycap_Sequence}]", + matchStrings: [ + "#\uFE0F\u20E3", + "*\uFE0F\u20E3", + "0", + "0\uFE0F\u20E3", + "1\uFE0F\u20E3", + "2", + "2\uFE0F\u20E3", + "3\uFE0F\u20E3", + "4", + "4\uFE0F\u20E3", + "5\uFE0F\u20E3", + "6\uFE0F\u20E3", + "7\uFE0F\u20E3", + "8\uFE0F\u20E3", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-string-literal.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-string-literal.js new file mode 100644 index 0000000000..4ec89b131d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/generated/string-literal-union-string-literal.js @@ -0,0 +1,37 @@ +// |reftest| skip -- regexp-v-flag is not supported +// Copyright 2022 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Extended character classes enabled by the RegExp `v` flag support + properties of strings, string literals, and set operations +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v14.0.0 +esid: sec-patterns +features: [regexp-v-flag] +includes: [regExpUtils.js] +---*/ + +testExtendedCharacterClass({ + regExp: /^[\q{0|2|4|9\uFE0F\u20E3}\q{0|2|4|9\uFE0F\u20E3}]+$/v, + expression: "[\q{0|2|4|9\uFE0F\u20E3}\q{0|2|4|9\uFE0F\u20E3}]", + matchStrings: [ + "0", + "2", + "4", + "9\uFE0F\u20E3" + ], + nonMatchStrings: [ + "6\uFE0F\u20E3", + "7", + "C", + "\u2603", + "\u{1D306}", + "\u{1F1E7}\u{1F1EA}" + ], +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/unicodeSets/shell.js b/js/src/tests/test262/built-ins/RegExp/unicodeSets/shell.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicodeSets/shell.js |