Add tests for Unicode v16 Identifier{Start,Part}

Issue: https://github.com/tc39/ecma262/issues/3425

.
This commit is contained in:
Mathias Bynens 2024-09-12 13:49:27 +02:00 committed by Philip Chimento
parent a9c1c08852
commit 4bdf978220
117 changed files with 20584 additions and 104 deletions

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2023 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---
@ -16,5 +16,5 @@ features: [class, class-fields-private]
---*/ ---*/
class _ { class _ {
#_\u200C\u200D; #_\u200C\u200D\u30FB\uFF65;
}; };

View File

@ -1,4 +1,4 @@
// Copyright 2023 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---
@ -13,5 +13,5 @@ features: [class, class-fields-private]
---*/ ---*/
class _ { class _ {
#_; #_;
}; };

View File

@ -1,4 +1,4 @@
// Copyright 2023 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---
@ -13,4 +13,4 @@ info: |
Generated by https://github.com/mathiasbynens/caniunicode Generated by https://github.com/mathiasbynens/caniunicode
---*/ ---*/
var _\u200C\u200D; var _\u200C\u200D\u30FB\uFF65;

View File

@ -1,4 +1,4 @@
// Copyright 2023 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---
@ -11,4 +11,4 @@ info: |
Generated by https://github.com/mathiasbynens/caniunicode Generated by https://github.com/mathiasbynens/caniunicode
---*/ ---*/
var _; var _;

View File

@ -0,0 +1,20 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: prod-PrivateIdentifier
description: |
Test that Unicode v16.0.0 ID_Continue characters are accepted as
identifier part characters in escaped form, i.e.
- \uXXXX or \u{XXXX} for BMP symbols
- \u{XXXXXX} for astral symbols
in private class fields.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
features: [class, class-fields-private]
---*/
class _ {
#_\u0897\u{10D40}\u{10D41}\u{10D42}\u{10D43}\u{10D44}\u{10D45}\u{10D46}\u{10D47}\u{10D48}\u{10D49}\u{10D69}\u{10D6A}\u{10D6B}\u{10D6C}\u{10D6D}\u{10EFC}\u{113B8}\u{113B9}\u{113BA}\u{113BB}\u{113BC}\u{113BD}\u{113BE}\u{113BF}\u{113C0}\u{113C2}\u{113C5}\u{113C7}\u{113C8}\u{113C9}\u{113CA}\u{113CC}\u{113CD}\u{113CE}\u{113CF}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{116D0}\u{116D1}\u{116D2}\u{116D3}\u{116D4}\u{116D5}\u{116D6}\u{116D7}\u{116D8}\u{116D9}\u{116DA}\u{116DB}\u{116DC}\u{116DD}\u{116DE}\u{116DF}\u{116E0}\u{116E1}\u{116E2}\u{116E3}\u{11BF0}\u{11BF1}\u{11BF2}\u{11BF3}\u{11BF4}\u{11BF5}\u{11BF6}\u{11BF7}\u{11BF8}\u{11BF9}\u{11F5A}\u{1611E}\u{1611F}\u{16120}\u{16121}\u{16122}\u{16123}\u{16124}\u{16125}\u{16126}\u{16127}\u{16128}\u{16129}\u{1612A}\u{1612B}\u{1612C}\u{1612D}\u{1612E}\u{1612F}\u{16130}\u{16131}\u{16132}\u{16133}\u{16134}\u{16135}\u{16136}\u{16137}\u{16138}\u{16139}\u{16D70}\u{16D71}\u{16D72}\u{16D73}\u{16D74}\u{16D75}\u{16D76}\u{16D77}\u{16D78}\u{16D79}\u{1CCF0}\u{1CCF1}\u{1CCF2}\u{1CCF3}\u{1CCF4}\u{1CCF5}\u{1CCF6}\u{1CCF7}\u{1CCF8}\u{1CCF9}\u{1E5EE}\u{1E5EF}\u{1E5F1}\u{1E5F2}\u{1E5F3}\u{1E5F4}\u{1E5F5}\u{1E5F6}\u{1E5F7}\u{1E5F8}\u{1E5F9}\u{1E5FA};
};

View File

@ -0,0 +1,17 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: prod-PrivateIdentifier
description: |
Test that Unicode v16.0.0 ID_Continue characters are accepted as
identifier part characters in private class fields.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
features: [class, class-fields-private]
---*/
class _ {
#_𐵀𐵁𐵂𐵃𐵄𐵅𐵆𐵇𐵈𐵉𐵩𐵪𐵫𐵬𐵭𐻼𑎸𑎹𑎺𑎻𑎼𑎽𑎾𑎿𑏀𑏅𑏅𑎸𑏈𑏉𑏊𑏌𑏍𑏎𑏏𑏐𑏒𑏡𑏢𑛐𑛑𑛒𑛓𑛔𑛕𑛖𑛗𑛘𑛙𑛚𑛛𑛜𑛝𑛞𑛟𑛠𑛡𑛢𑛣𑯰𑯱𑯲𑯳𑯴𑯵𑯶𑯷𑯸𑯹𑽚𖄣𖄠𖄡𖄢𖄣𖄤𖄥𖄦𖄧𖄨𖄩𖄪𖄫𖄬𖄭𖄮𖄯𖄰𖄱𖄲𖄳𖄴𖄵𖄶𖄷𖄸𖄹𖵰𖵱𖵲𖵳𖵴𖵵𖵶𖵷𖵸𖵹𜳰𜳱𜳲𜳳𜳴𜳵𜳶𜳷𜳸𜳹𞗯𞗮𞗱𞗲𞗳𞗴𞗵𞗶𞗷𞗸𞗹𞗺;
};

View File

@ -0,0 +1,16 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: sec-names-and-keywords
description: |
Test that Unicode v16.0.0 ID_Continue characters are accepted as
identifier part characters in escaped form, i.e.
- \uXXXX or \u{XXXX} for BMP symbols
- \u{XXXXXX} for astral symbols
info: |
Generated by https://github.com/mathiasbynens/caniunicode
---*/
var _\u0897\u{10D40}\u{10D41}\u{10D42}\u{10D43}\u{10D44}\u{10D45}\u{10D46}\u{10D47}\u{10D48}\u{10D49}\u{10D69}\u{10D6A}\u{10D6B}\u{10D6C}\u{10D6D}\u{10EFC}\u{113B8}\u{113B9}\u{113BA}\u{113BB}\u{113BC}\u{113BD}\u{113BE}\u{113BF}\u{113C0}\u{113C2}\u{113C5}\u{113C7}\u{113C8}\u{113C9}\u{113CA}\u{113CC}\u{113CD}\u{113CE}\u{113CF}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{116D0}\u{116D1}\u{116D2}\u{116D3}\u{116D4}\u{116D5}\u{116D6}\u{116D7}\u{116D8}\u{116D9}\u{116DA}\u{116DB}\u{116DC}\u{116DD}\u{116DE}\u{116DF}\u{116E0}\u{116E1}\u{116E2}\u{116E3}\u{11BF0}\u{11BF1}\u{11BF2}\u{11BF3}\u{11BF4}\u{11BF5}\u{11BF6}\u{11BF7}\u{11BF8}\u{11BF9}\u{11F5A}\u{1611E}\u{1611F}\u{16120}\u{16121}\u{16122}\u{16123}\u{16124}\u{16125}\u{16126}\u{16127}\u{16128}\u{16129}\u{1612A}\u{1612B}\u{1612C}\u{1612D}\u{1612E}\u{1612F}\u{16130}\u{16131}\u{16132}\u{16133}\u{16134}\u{16135}\u{16136}\u{16137}\u{16138}\u{16139}\u{16D70}\u{16D71}\u{16D72}\u{16D73}\u{16D74}\u{16D75}\u{16D76}\u{16D77}\u{16D78}\u{16D79}\u{1CCF0}\u{1CCF1}\u{1CCF2}\u{1CCF3}\u{1CCF4}\u{1CCF5}\u{1CCF6}\u{1CCF7}\u{1CCF8}\u{1CCF9}\u{1E5EE}\u{1E5EF}\u{1E5F1}\u{1E5F2}\u{1E5F3}\u{1E5F4}\u{1E5F5}\u{1E5F6}\u{1E5F7}\u{1E5F8}\u{1E5F9}\u{1E5FA};

View File

@ -0,0 +1,14 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: sec-names-and-keywords
description: |
Test that Unicode v16.0.0 ID_Continue characters are accepted as
identifier part characters.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
---*/
var _𐵀𐵁𐵂𐵃𐵄𐵅𐵆𐵇𐵈𐵉𐵩𐵪𐵫𐵬𐵭𐻼𑎸𑎹𑎺𑎻𑎼𑎽𑎾𑎿𑏀𑏅𑏅𑎸𑏈𑏉𑏊𑏌𑏍𑏎𑏏𑏐𑏒𑏡𑏢𑛐𑛑𑛒𑛓𑛔𑛕𑛖𑛗𑛘𑛙𑛚𑛛𑛜𑛝𑛞𑛟𑛠𑛡𑛢𑛣𑯰𑯱𑯲𑯳𑯴𑯵𑯶𑯷𑯸𑯹𑽚𖄣𖄠𖄡𖄢𖄣𖄤𖄥𖄦𖄧𖄨𖄩𖄪𖄫𖄬𖄭𖄮𖄯𖄰𖄱𖄲𖄳𖄴𖄵𖄶𖄷𖄸𖄹𖵰𖵱𖵲𖵳𖵴𖵵𖵶𖵷𖵸𖵹𜳰𜳱𜳲𜳳𜳴𜳵𜳶𜳷𜳸𜳹𞗯𞗮𞗱𞗲𞗳𞗴𞗵𞗶𞗷𞗸𞗹𞗺;

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -0,0 +1,238 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
match Emoji 13.1 strings.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes, regexp-v-flag]
includes: [regExpUtils.js]
---*/
testPropertyOfStrings({
regExp: /^\p{RGI_Emoji}+$/v,
expression: "\\p{RGI_Emoji}",
matchStrings: [
"\u2764\uFE0F\u200D\u{1F525}",
"\u2764\uFE0F\u200D\u{1FA79}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F468}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F469}\u{1F3FF}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FB}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FC}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FD}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FE}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}\u{1F3FF}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FB}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FC}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FD}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FE}",
"\u{1F469}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}\u{1F3FF}",
"\u{1F48F}\u{1F3FB}",
"\u{1F48F}\u{1F3FC}",
"\u{1F48F}\u{1F3FD}",
"\u{1F48F}\u{1F3FE}",
"\u{1F48F}\u{1F3FF}",
"\u{1F491}\u{1F3FB}",
"\u{1F491}\u{1F3FC}",
"\u{1F491}\u{1F3FD}",
"\u{1F491}\u{1F3FE}",
"\u{1F491}\u{1F3FF}",
"\u{1F62E}\u200D\u{1F4A8}",
"\u{1F635}\u200D\u{1F4AB}",
"\u{1F636}\u200D\u{1F32B}\uFE0F",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FB}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FC}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FD}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FE}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FF}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FB}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FC}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FD}",
"\u{1F9D1}\u{1F3FF}\u200D\u2764\uFE0F\u200D\u{1F9D1}\u{1F3FE}",
"\u{1F9D4}\u200D\u2640\uFE0F",
"\u{1F9D4}\u200D\u2642\uFE0F",
"\u{1F9D4}\u{1F3FB}\u200D\u2640\uFE0F",
"\u{1F9D4}\u{1F3FB}\u200D\u2642\uFE0F",
"\u{1F9D4}\u{1F3FC}\u200D\u2640\uFE0F",
"\u{1F9D4}\u{1F3FC}\u200D\u2642\uFE0F",
"\u{1F9D4}\u{1F3FD}\u200D\u2640\uFE0F",
"\u{1F9D4}\u{1F3FD}\u200D\u2642\uFE0F",
"\u{1F9D4}\u{1F3FE}\u200D\u2640\uFE0F",
"\u{1F9D4}\u{1F3FE}\u200D\u2642\uFE0F",
"\u{1F9D4}\u{1F3FF}\u200D\u2640\uFE0F",
"\u{1F9D4}\u{1F3FF}\u200D\u2642\uFE0F"
],
});

View File

@ -0,0 +1,133 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
match Emoji 14.0 strings.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes, regexp-v-flag]
includes: [regExpUtils.js]
---*/
testPropertyOfStrings({
regExp: /^\p{RGI_Emoji}+$/v,
expression: "\\p{RGI_Emoji}",
matchStrings: [
"\u{1F6DD}",
"\u{1F6DE}",
"\u{1F6DF}",
"\u{1F7F0}",
"\u{1F91D}\u{1F3FB}",
"\u{1F91D}\u{1F3FC}",
"\u{1F91D}\u{1F3FD}",
"\u{1F91D}\u{1F3FE}",
"\u{1F91D}\u{1F3FF}",
"\u{1F979}",
"\u{1F9CC}",
"\u{1FA7B}",
"\u{1FA7C}",
"\u{1FAA9}",
"\u{1FAAA}",
"\u{1FAAB}",
"\u{1FAAC}",
"\u{1FAB7}",
"\u{1FAB8}",
"\u{1FAB9}",
"\u{1FABA}",
"\u{1FAC3}",
"\u{1FAC3}\u{1F3FB}",
"\u{1FAC3}\u{1F3FC}",
"\u{1FAC3}\u{1F3FD}",
"\u{1FAC3}\u{1F3FE}",
"\u{1FAC3}\u{1F3FF}",
"\u{1FAC4}",
"\u{1FAC4}\u{1F3FB}",
"\u{1FAC4}\u{1F3FC}",
"\u{1FAC4}\u{1F3FD}",
"\u{1FAC4}\u{1F3FE}",
"\u{1FAC4}\u{1F3FF}",
"\u{1FAC5}",
"\u{1FAC5}\u{1F3FB}",
"\u{1FAC5}\u{1F3FC}",
"\u{1FAC5}\u{1F3FD}",
"\u{1FAC5}\u{1F3FE}",
"\u{1FAC5}\u{1F3FF}",
"\u{1FAD7}",
"\u{1FAD8}",
"\u{1FAD9}",
"\u{1FAE0}",
"\u{1FAE1}",
"\u{1FAE2}",
"\u{1FAE3}",
"\u{1FAE4}",
"\u{1FAE5}",
"\u{1FAE6}",
"\u{1FAE7}",
"\u{1FAF0}",
"\u{1FAF0}\u{1F3FB}",
"\u{1FAF0}\u{1F3FC}",
"\u{1FAF0}\u{1F3FD}",
"\u{1FAF0}\u{1F3FE}",
"\u{1FAF0}\u{1F3FF}",
"\u{1FAF1}",
"\u{1FAF1}\u{1F3FB}",
"\u{1FAF1}\u{1F3FB}\u200D\u{1FAF2}\u{1F3FC}",
"\u{1FAF1}\u{1F3FB}\u200D\u{1FAF2}\u{1F3FD}",
"\u{1FAF1}\u{1F3FB}\u200D\u{1FAF2}\u{1F3FE}",
"\u{1FAF1}\u{1F3FB}\u200D\u{1FAF2}\u{1F3FF}",
"\u{1FAF1}\u{1F3FC}",
"\u{1FAF1}\u{1F3FC}\u200D\u{1FAF2}\u{1F3FB}",
"\u{1FAF1}\u{1F3FC}\u200D\u{1FAF2}\u{1F3FD}",
"\u{1FAF1}\u{1F3FC}\u200D\u{1FAF2}\u{1F3FE}",
"\u{1FAF1}\u{1F3FC}\u200D\u{1FAF2}\u{1F3FF}",
"\u{1FAF1}\u{1F3FD}",
"\u{1FAF1}\u{1F3FD}\u200D\u{1FAF2}\u{1F3FB}",
"\u{1FAF1}\u{1F3FD}\u200D\u{1FAF2}\u{1F3FC}",
"\u{1FAF1}\u{1F3FD}\u200D\u{1FAF2}\u{1F3FE}",
"\u{1FAF1}\u{1F3FD}\u200D\u{1FAF2}\u{1F3FF}",
"\u{1FAF1}\u{1F3FE}",
"\u{1FAF1}\u{1F3FE}\u200D\u{1FAF2}\u{1F3FB}",
"\u{1FAF1}\u{1F3FE}\u200D\u{1FAF2}\u{1F3FC}",
"\u{1FAF1}\u{1F3FE}\u200D\u{1FAF2}\u{1F3FD}",
"\u{1FAF1}\u{1F3FE}\u200D\u{1FAF2}\u{1F3FF}",
"\u{1FAF1}\u{1F3FF}",
"\u{1FAF1}\u{1F3FF}\u200D\u{1FAF2}\u{1F3FB}",
"\u{1FAF1}\u{1F3FF}\u200D\u{1FAF2}\u{1F3FC}",
"\u{1FAF1}\u{1F3FF}\u200D\u{1FAF2}\u{1F3FD}",
"\u{1FAF1}\u{1F3FF}\u200D\u{1FAF2}\u{1F3FE}",
"\u{1FAF2}",
"\u{1FAF2}\u{1F3FB}",
"\u{1FAF2}\u{1F3FC}",
"\u{1FAF2}\u{1F3FD}",
"\u{1FAF2}\u{1F3FE}",
"\u{1FAF2}\u{1F3FF}",
"\u{1FAF3}",
"\u{1FAF3}\u{1F3FB}",
"\u{1FAF3}\u{1F3FC}",
"\u{1FAF3}\u{1F3FD}",
"\u{1FAF3}\u{1F3FE}",
"\u{1FAF3}\u{1F3FF}",
"\u{1FAF4}",
"\u{1FAF4}\u{1F3FB}",
"\u{1FAF4}\u{1F3FC}",
"\u{1FAF4}\u{1F3FD}",
"\u{1FAF4}\u{1F3FE}",
"\u{1FAF4}\u{1F3FF}",
"\u{1FAF5}",
"\u{1FAF5}\u{1F3FB}",
"\u{1FAF5}\u{1F3FC}",
"\u{1FAF5}\u{1F3FD}",
"\u{1FAF5}\u{1F3FE}",
"\u{1FAF5}\u{1F3FF}",
"\u{1FAF6}",
"\u{1FAF6}\u{1F3FB}",
"\u{1FAF6}\u{1F3FC}",
"\u{1FAF6}\u{1F3FD}",
"\u{1FAF6}\u{1F3FE}",
"\u{1FAF6}\u{1F3FF}"
],
});

View File

@ -0,0 +1,52 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
match Emoji 15.0 strings.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes, regexp-v-flag]
includes: [regExpUtils.js]
---*/
testPropertyOfStrings({
regExp: /^\p{RGI_Emoji}+$/v,
expression: "\\p{RGI_Emoji}",
matchStrings: [
"\u{1F426}\u200D\u2B1B",
"\u{1F6DC}",
"\u{1FA75}",
"\u{1FA76}",
"\u{1FA77}",
"\u{1FA87}",
"\u{1FA88}",
"\u{1FAAD}",
"\u{1FAAE}",
"\u{1FAAF}",
"\u{1FABB}",
"\u{1FABC}",
"\u{1FABD}",
"\u{1FABF}",
"\u{1FACE}",
"\u{1FACF}",
"\u{1FADA}",
"\u{1FADB}",
"\u{1FAE8}",
"\u{1FAF7}",
"\u{1FAF7}\u{1F3FB}",
"\u{1FAF7}\u{1F3FC}",
"\u{1FAF7}\u{1F3FD}",
"\u{1FAF7}\u{1F3FE}",
"\u{1FAF7}\u{1F3FF}",
"\u{1FAF8}",
"\u{1FAF8}\u{1F3FB}",
"\u{1FAF8}\u{1F3FC}",
"\u{1FAF8}\u{1F3FD}",
"\u{1FAF8}\u{1F3FE}",
"\u{1FAF8}\u{1F3FF}"
],
});

View File

@ -0,0 +1,139 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
match Emoji 15.1 strings.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes, regexp-v-flag]
includes: [regExpUtils.js]
---*/
testPropertyOfStrings({
regExp: /^\p{RGI_Emoji}+$/v,
expression: "\\p{RGI_Emoji}",
matchStrings: [
"\u26D3\uFE0F\u200D\u{1F4A5}",
"\u{1F344}\u200D\u{1F7EB}",
"\u{1F34B}\u200D\u{1F7E9}",
"\u{1F3C3}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FB}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FB}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FB}\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FC}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FC}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FC}\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FD}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FD}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FD}\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FE}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FE}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FE}\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FF}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FF}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F3C3}\u{1F3FF}\u200D\u27A1\uFE0F",
"\u{1F426}\u200D\u{1F525}",
"\u{1F468}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FB}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FB}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FB}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FC}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FC}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FC}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FD}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FD}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FD}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FE}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FE}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FE}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FF}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FF}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F468}\u{1F3FF}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FB}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FB}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FB}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FC}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FC}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FC}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FD}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FD}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FD}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FE}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FE}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FE}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FF}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FF}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F469}\u{1F3FF}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F642}\u200D\u2194\uFE0F",
"\u{1F642}\u200D\u2195\uFE0F",
"\u{1F6B6}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FB}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FB}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FB}\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FC}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FC}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FC}\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FD}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FD}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FD}\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FE}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FE}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FE}\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FF}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FF}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F6B6}\u{1F3FF}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FB}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FB}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FB}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FC}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FC}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FC}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FD}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FD}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FD}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FE}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FE}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FE}\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FF}\u200D\u2640\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FF}\u200D\u2642\uFE0F\u200D\u27A1\uFE0F",
"\u{1F9CE}\u{1F3FF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u200D\u{1F9D1}\u200D\u{1F9D2}",
"\u{1F9D1}\u200D\u{1F9D1}\u200D\u{1F9D2}\u200D\u{1F9D2}",
"\u{1F9D1}\u200D\u{1F9D2}",
"\u{1F9D1}\u200D\u{1F9D2}\u200D\u{1F9D2}",
"\u{1F9D1}\u{1F3FB}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FB}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FB}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FC}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FC}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FC}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FD}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FD}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FD}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FE}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FE}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FE}\u200D\u{1F9BD}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FF}\u200D\u{1F9AF}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FF}\u200D\u{1F9BC}\u200D\u27A1\uFE0F",
"\u{1F9D1}\u{1F3FF}\u200D\u{1F9BD}\u200D\u27A1\uFE0F"
],
});

View File

@ -0,0 +1,29 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
match Emoji 16.0 strings.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes, regexp-v-flag]
includes: [regExpUtils.js]
---*/
testPropertyOfStrings({
regExp: /^\p{RGI_Emoji}+$/v,
expression: "\\p{RGI_Emoji}",
matchStrings: [
"\u{1F1E8}\u{1F1F6}",
"\u{1FA89}",
"\u{1FA8F}",
"\u{1FABE}",
"\u{1FAC6}",
"\u{1FADC}",
"\u{1FADF}",
"\u{1FAE9}"
],
});

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -0,0 +1,641 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: prod-PrivateIdentifier
description: |
Test that Unicode v15.1.0 ID_Start characters are accepted as
identifier start characters in escaped form, i.e.
- \uXXXX or \u{XXXX} for BMP symbols
- \u{XXXXXX} for astral symbols
in private class fields.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
features: [class, class-fields-private]
---*/
class _ {
#\u{2EBF0};
#\u{2EBF1};
#\u{2EBF2};
#\u{2EBF3};
#\u{2EBF4};
#\u{2EBF5};
#\u{2EBF6};
#\u{2EBF7};
#\u{2EBF8};
#\u{2EBF9};
#\u{2EBFA};
#\u{2EBFB};
#\u{2EBFC};
#\u{2EBFD};
#\u{2EBFE};
#\u{2EBFF};
#\u{2EC00};
#\u{2EC01};
#\u{2EC02};
#\u{2EC03};
#\u{2EC04};
#\u{2EC05};
#\u{2EC06};
#\u{2EC07};
#\u{2EC08};
#\u{2EC09};
#\u{2EC0A};
#\u{2EC0B};
#\u{2EC0C};
#\u{2EC0D};
#\u{2EC0E};
#\u{2EC0F};
#\u{2EC10};
#\u{2EC11};
#\u{2EC12};
#\u{2EC13};
#\u{2EC14};
#\u{2EC15};
#\u{2EC16};
#\u{2EC17};
#\u{2EC18};
#\u{2EC19};
#\u{2EC1A};
#\u{2EC1B};
#\u{2EC1C};
#\u{2EC1D};
#\u{2EC1E};
#\u{2EC1F};
#\u{2EC20};
#\u{2EC21};
#\u{2EC22};
#\u{2EC23};
#\u{2EC24};
#\u{2EC25};
#\u{2EC26};
#\u{2EC27};
#\u{2EC28};
#\u{2EC29};
#\u{2EC2A};
#\u{2EC2B};
#\u{2EC2C};
#\u{2EC2D};
#\u{2EC2E};
#\u{2EC2F};
#\u{2EC30};
#\u{2EC31};
#\u{2EC32};
#\u{2EC33};
#\u{2EC34};
#\u{2EC35};
#\u{2EC36};
#\u{2EC37};
#\u{2EC38};
#\u{2EC39};
#\u{2EC3A};
#\u{2EC3B};
#\u{2EC3C};
#\u{2EC3D};
#\u{2EC3E};
#\u{2EC3F};
#\u{2EC40};
#\u{2EC41};
#\u{2EC42};
#\u{2EC43};
#\u{2EC44};
#\u{2EC45};
#\u{2EC46};
#\u{2EC47};
#\u{2EC48};
#\u{2EC49};
#\u{2EC4A};
#\u{2EC4B};
#\u{2EC4C};
#\u{2EC4D};
#\u{2EC4E};
#\u{2EC4F};
#\u{2EC50};
#\u{2EC51};
#\u{2EC52};
#\u{2EC53};
#\u{2EC54};
#\u{2EC55};
#\u{2EC56};
#\u{2EC57};
#\u{2EC58};
#\u{2EC59};
#\u{2EC5A};
#\u{2EC5B};
#\u{2EC5C};
#\u{2EC5D};
#\u{2EC5E};
#\u{2EC5F};
#\u{2EC60};
#\u{2EC61};
#\u{2EC62};
#\u{2EC63};
#\u{2EC64};
#\u{2EC65};
#\u{2EC66};
#\u{2EC67};
#\u{2EC68};
#\u{2EC69};
#\u{2EC6A};
#\u{2EC6B};
#\u{2EC6C};
#\u{2EC6D};
#\u{2EC6E};
#\u{2EC6F};
#\u{2EC70};
#\u{2EC71};
#\u{2EC72};
#\u{2EC73};
#\u{2EC74};
#\u{2EC75};
#\u{2EC76};
#\u{2EC77};
#\u{2EC78};
#\u{2EC79};
#\u{2EC7A};
#\u{2EC7B};
#\u{2EC7C};
#\u{2EC7D};
#\u{2EC7E};
#\u{2EC7F};
#\u{2EC80};
#\u{2EC81};
#\u{2EC82};
#\u{2EC83};
#\u{2EC84};
#\u{2EC85};
#\u{2EC86};
#\u{2EC87};
#\u{2EC88};
#\u{2EC89};
#\u{2EC8A};
#\u{2EC8B};
#\u{2EC8C};
#\u{2EC8D};
#\u{2EC8E};
#\u{2EC8F};
#\u{2EC90};
#\u{2EC91};
#\u{2EC92};
#\u{2EC93};
#\u{2EC94};
#\u{2EC95};
#\u{2EC96};
#\u{2EC97};
#\u{2EC98};
#\u{2EC99};
#\u{2EC9A};
#\u{2EC9B};
#\u{2EC9C};
#\u{2EC9D};
#\u{2EC9E};
#\u{2EC9F};
#\u{2ECA0};
#\u{2ECA1};
#\u{2ECA2};
#\u{2ECA3};
#\u{2ECA4};
#\u{2ECA5};
#\u{2ECA6};
#\u{2ECA7};
#\u{2ECA8};
#\u{2ECA9};
#\u{2ECAA};
#\u{2ECAB};
#\u{2ECAC};
#\u{2ECAD};
#\u{2ECAE};
#\u{2ECAF};
#\u{2ECB0};
#\u{2ECB1};
#\u{2ECB2};
#\u{2ECB3};
#\u{2ECB4};
#\u{2ECB5};
#\u{2ECB6};
#\u{2ECB7};
#\u{2ECB8};
#\u{2ECB9};
#\u{2ECBA};
#\u{2ECBB};
#\u{2ECBC};
#\u{2ECBD};
#\u{2ECBE};
#\u{2ECBF};
#\u{2ECC0};
#\u{2ECC1};
#\u{2ECC2};
#\u{2ECC3};
#\u{2ECC4};
#\u{2ECC5};
#\u{2ECC6};
#\u{2ECC7};
#\u{2ECC8};
#\u{2ECC9};
#\u{2ECCA};
#\u{2ECCB};
#\u{2ECCC};
#\u{2ECCD};
#\u{2ECCE};
#\u{2ECCF};
#\u{2ECD0};
#\u{2ECD1};
#\u{2ECD2};
#\u{2ECD3};
#\u{2ECD4};
#\u{2ECD5};
#\u{2ECD6};
#\u{2ECD7};
#\u{2ECD8};
#\u{2ECD9};
#\u{2ECDA};
#\u{2ECDB};
#\u{2ECDC};
#\u{2ECDD};
#\u{2ECDE};
#\u{2ECDF};
#\u{2ECE0};
#\u{2ECE1};
#\u{2ECE2};
#\u{2ECE3};
#\u{2ECE4};
#\u{2ECE5};
#\u{2ECE6};
#\u{2ECE7};
#\u{2ECE8};
#\u{2ECE9};
#\u{2ECEA};
#\u{2ECEB};
#\u{2ECEC};
#\u{2ECED};
#\u{2ECEE};
#\u{2ECEF};
#\u{2ECF0};
#\u{2ECF1};
#\u{2ECF2};
#\u{2ECF3};
#\u{2ECF4};
#\u{2ECF5};
#\u{2ECF6};
#\u{2ECF7};
#\u{2ECF8};
#\u{2ECF9};
#\u{2ECFA};
#\u{2ECFB};
#\u{2ECFC};
#\u{2ECFD};
#\u{2ECFE};
#\u{2ECFF};
#\u{2ED00};
#\u{2ED01};
#\u{2ED02};
#\u{2ED03};
#\u{2ED04};
#\u{2ED05};
#\u{2ED06};
#\u{2ED07};
#\u{2ED08};
#\u{2ED09};
#\u{2ED0A};
#\u{2ED0B};
#\u{2ED0C};
#\u{2ED0D};
#\u{2ED0E};
#\u{2ED0F};
#\u{2ED10};
#\u{2ED11};
#\u{2ED12};
#\u{2ED13};
#\u{2ED14};
#\u{2ED15};
#\u{2ED16};
#\u{2ED17};
#\u{2ED18};
#\u{2ED19};
#\u{2ED1A};
#\u{2ED1B};
#\u{2ED1C};
#\u{2ED1D};
#\u{2ED1E};
#\u{2ED1F};
#\u{2ED20};
#\u{2ED21};
#\u{2ED22};
#\u{2ED23};
#\u{2ED24};
#\u{2ED25};
#\u{2ED26};
#\u{2ED27};
#\u{2ED28};
#\u{2ED29};
#\u{2ED2A};
#\u{2ED2B};
#\u{2ED2C};
#\u{2ED2D};
#\u{2ED2E};
#\u{2ED2F};
#\u{2ED30};
#\u{2ED31};
#\u{2ED32};
#\u{2ED33};
#\u{2ED34};
#\u{2ED35};
#\u{2ED36};
#\u{2ED37};
#\u{2ED38};
#\u{2ED39};
#\u{2ED3A};
#\u{2ED3B};
#\u{2ED3C};
#\u{2ED3D};
#\u{2ED3E};
#\u{2ED3F};
#\u{2ED40};
#\u{2ED41};
#\u{2ED42};
#\u{2ED43};
#\u{2ED44};
#\u{2ED45};
#\u{2ED46};
#\u{2ED47};
#\u{2ED48};
#\u{2ED49};
#\u{2ED4A};
#\u{2ED4B};
#\u{2ED4C};
#\u{2ED4D};
#\u{2ED4E};
#\u{2ED4F};
#\u{2ED50};
#\u{2ED51};
#\u{2ED52};
#\u{2ED53};
#\u{2ED54};
#\u{2ED55};
#\u{2ED56};
#\u{2ED57};
#\u{2ED58};
#\u{2ED59};
#\u{2ED5A};
#\u{2ED5B};
#\u{2ED5C};
#\u{2ED5D};
#\u{2ED5E};
#\u{2ED5F};
#\u{2ED60};
#\u{2ED61};
#\u{2ED62};
#\u{2ED63};
#\u{2ED64};
#\u{2ED65};
#\u{2ED66};
#\u{2ED67};
#\u{2ED68};
#\u{2ED69};
#\u{2ED6A};
#\u{2ED6B};
#\u{2ED6C};
#\u{2ED6D};
#\u{2ED6E};
#\u{2ED6F};
#\u{2ED70};
#\u{2ED71};
#\u{2ED72};
#\u{2ED73};
#\u{2ED74};
#\u{2ED75};
#\u{2ED76};
#\u{2ED77};
#\u{2ED78};
#\u{2ED79};
#\u{2ED7A};
#\u{2ED7B};
#\u{2ED7C};
#\u{2ED7D};
#\u{2ED7E};
#\u{2ED7F};
#\u{2ED80};
#\u{2ED81};
#\u{2ED82};
#\u{2ED83};
#\u{2ED84};
#\u{2ED85};
#\u{2ED86};
#\u{2ED87};
#\u{2ED88};
#\u{2ED89};
#\u{2ED8A};
#\u{2ED8B};
#\u{2ED8C};
#\u{2ED8D};
#\u{2ED8E};
#\u{2ED8F};
#\u{2ED90};
#\u{2ED91};
#\u{2ED92};
#\u{2ED93};
#\u{2ED94};
#\u{2ED95};
#\u{2ED96};
#\u{2ED97};
#\u{2ED98};
#\u{2ED99};
#\u{2ED9A};
#\u{2ED9B};
#\u{2ED9C};
#\u{2ED9D};
#\u{2ED9E};
#\u{2ED9F};
#\u{2EDA0};
#\u{2EDA1};
#\u{2EDA2};
#\u{2EDA3};
#\u{2EDA4};
#\u{2EDA5};
#\u{2EDA6};
#\u{2EDA7};
#\u{2EDA8};
#\u{2EDA9};
#\u{2EDAA};
#\u{2EDAB};
#\u{2EDAC};
#\u{2EDAD};
#\u{2EDAE};
#\u{2EDAF};
#\u{2EDB0};
#\u{2EDB1};
#\u{2EDB2};
#\u{2EDB3};
#\u{2EDB4};
#\u{2EDB5};
#\u{2EDB6};
#\u{2EDB7};
#\u{2EDB8};
#\u{2EDB9};
#\u{2EDBA};
#\u{2EDBB};
#\u{2EDBC};
#\u{2EDBD};
#\u{2EDBE};
#\u{2EDBF};
#\u{2EDC0};
#\u{2EDC1};
#\u{2EDC2};
#\u{2EDC3};
#\u{2EDC4};
#\u{2EDC5};
#\u{2EDC6};
#\u{2EDC7};
#\u{2EDC8};
#\u{2EDC9};
#\u{2EDCA};
#\u{2EDCB};
#\u{2EDCC};
#\u{2EDCD};
#\u{2EDCE};
#\u{2EDCF};
#\u{2EDD0};
#\u{2EDD1};
#\u{2EDD2};
#\u{2EDD3};
#\u{2EDD4};
#\u{2EDD5};
#\u{2EDD6};
#\u{2EDD7};
#\u{2EDD8};
#\u{2EDD9};
#\u{2EDDA};
#\u{2EDDB};
#\u{2EDDC};
#\u{2EDDD};
#\u{2EDDE};
#\u{2EDDF};
#\u{2EDE0};
#\u{2EDE1};
#\u{2EDE2};
#\u{2EDE3};
#\u{2EDE4};
#\u{2EDE5};
#\u{2EDE6};
#\u{2EDE7};
#\u{2EDE8};
#\u{2EDE9};
#\u{2EDEA};
#\u{2EDEB};
#\u{2EDEC};
#\u{2EDED};
#\u{2EDEE};
#\u{2EDEF};
#\u{2EDF0};
#\u{2EDF1};
#\u{2EDF2};
#\u{2EDF3};
#\u{2EDF4};
#\u{2EDF5};
#\u{2EDF6};
#\u{2EDF7};
#\u{2EDF8};
#\u{2EDF9};
#\u{2EDFA};
#\u{2EDFB};
#\u{2EDFC};
#\u{2EDFD};
#\u{2EDFE};
#\u{2EDFF};
#\u{2EE00};
#\u{2EE01};
#\u{2EE02};
#\u{2EE03};
#\u{2EE04};
#\u{2EE05};
#\u{2EE06};
#\u{2EE07};
#\u{2EE08};
#\u{2EE09};
#\u{2EE0A};
#\u{2EE0B};
#\u{2EE0C};
#\u{2EE0D};
#\u{2EE0E};
#\u{2EE0F};
#\u{2EE10};
#\u{2EE11};
#\u{2EE12};
#\u{2EE13};
#\u{2EE14};
#\u{2EE15};
#\u{2EE16};
#\u{2EE17};
#\u{2EE18};
#\u{2EE19};
#\u{2EE1A};
#\u{2EE1B};
#\u{2EE1C};
#\u{2EE1D};
#\u{2EE1E};
#\u{2EE1F};
#\u{2EE20};
#\u{2EE21};
#\u{2EE22};
#\u{2EE23};
#\u{2EE24};
#\u{2EE25};
#\u{2EE26};
#\u{2EE27};
#\u{2EE28};
#\u{2EE29};
#\u{2EE2A};
#\u{2EE2B};
#\u{2EE2C};
#\u{2EE2D};
#\u{2EE2E};
#\u{2EE2F};
#\u{2EE30};
#\u{2EE31};
#\u{2EE32};
#\u{2EE33};
#\u{2EE34};
#\u{2EE35};
#\u{2EE36};
#\u{2EE37};
#\u{2EE38};
#\u{2EE39};
#\u{2EE3A};
#\u{2EE3B};
#\u{2EE3C};
#\u{2EE3D};
#\u{2EE3E};
#\u{2EE3F};
#\u{2EE40};
#\u{2EE41};
#\u{2EE42};
#\u{2EE43};
#\u{2EE44};
#\u{2EE45};
#\u{2EE46};
#\u{2EE47};
#\u{2EE48};
#\u{2EE49};
#\u{2EE4A};
#\u{2EE4B};
#\u{2EE4C};
#\u{2EE4D};
#\u{2EE4E};
#\u{2EE4F};
#\u{2EE50};
#\u{2EE51};
#\u{2EE52};
#\u{2EE53};
#\u{2EE54};
#\u{2EE55};
#\u{2EE56};
#\u{2EE57};
#\u{2EE58};
#\u{2EE59};
#\u{2EE5A};
#\u{2EE5B};
#\u{2EE5C};
#\u{2EE5D};
};

View File

@ -0,0 +1,638 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: prod-PrivateIdentifier
description: |
Test that Unicode v15.1.0 ID_Start characters are accepted as
identifier start characters in private class fields.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
features: [class, class-fields-private]
---*/
class _ {
#𮯰;
#𮯱;
#𮯲;
#𮯳;
#𮯴;
#𮯵;
#𮯶;
#𮯷;
#𮯸;
#𮯹;
#𮯺;
#𮯻;
#𮯼;
#𮯽;
#𮯾;
#𮯿;
#𮰀;
#𮰁;
#𮰂;
#𮰃;
#𮰄;
#𮰅;
#𮰆;
#𮰇;
#𮰈;
#𮰉;
#𮰊;
#𮰋;
#𮰌;
#𮰍;
#𮰎;
#𮰏;
#𮰐;
#𮰑;
#𮰒;
#𮰓;
#𮰔;
#𮰕;
#𮰖;
#𮰗;
#𮰘;
#𮰙;
#𮰚;
#𮰛;
#𮰜;
#𮰝;
#𮰞;
#𮰟;
#𮰠;
#𮰡;
#𮰢;
#𮰣;
#𮰤;
#𮰥;
#𮰦;
#𮰧;
#𮰨;
#𮰩;
#𮰪;
#𮰫;
#𮰬;
#𮰭;
#𮰮;
#𮰯;
#𮰰;
#𮰱;
#𮰲;
#𮰳;
#𮰴;
#𮰵;
#𮰶;
#𮰷;
#𮰸;
#𮰹;
#𮰺;
#𮰻;
#𮰼;
#𮰽;
#𮰾;
#𮰿;
#𮱀;
#𮱁;
#𮱂;
#𮱃;
#𮱄;
#𮱅;
#𮱆;
#𮱇;
#𮱈;
#𮱉;
#𮱊;
#𮱋;
#𮱌;
#𮱍;
#𮱎;
#𮱏;
#𮱐;
#𮱑;
#𮱒;
#𮱓;
#𮱔;
#𮱕;
#𮱖;
#𮱗;
#𮱘;
#𮱙;
#𮱚;
#𮱛;
#𮱜;
#𮱝;
#𮱞;
#𮱟;
#𮱠;
#𮱡;
#𮱢;
#𮱣;
#𮱤;
#𮱥;
#𮱦;
#𮱧;
#𮱨;
#𮱩;
#𮱪;
#𮱫;
#𮱬;
#𮱭;
#𮱮;
#𮱯;
#𮱰;
#𮱱;
#𮱲;
#𮱳;
#𮱴;
#𮱵;
#𮱶;
#𮱷;
#𮱸;
#𮱹;
#𮱺;
#𮱻;
#𮱼;
#𮱽;
#𮱾;
#𮱿;
#𮲀;
#𮲁;
#𮲂;
#𮲃;
#𮲄;
#𮲅;
#𮲆;
#𮲇;
#𮲈;
#𮲉;
#𮲊;
#𮲋;
#𮲌;
#𮲍;
#𮲎;
#𮲏;
#𮲐;
#𮲑;
#𮲒;
#𮲓;
#𮲔;
#𮲕;
#𮲖;
#𮲗;
#𮲘;
#𮲙;
#𮲚;
#𮲛;
#𮲜;
#𮲝;
#𮲞;
#𮲟;
#𮲠;
#𮲡;
#𮲢;
#𮲣;
#𮲤;
#𮲥;
#𮲦;
#𮲧;
#𮲨;
#𮲩;
#𮲪;
#𮲫;
#𮲬;
#𮲭;
#𮲮;
#𮲯;
#𮲰;
#𮲱;
#𮲲;
#𮲳;
#𮲴;
#𮲵;
#𮲶;
#𮲷;
#𮲸;
#𮲹;
#𮲺;
#𮲻;
#𮲼;
#𮲽;
#𮲾;
#𮲿;
#𮳀;
#𮳁;
#𮳂;
#𮳃;
#𮳄;
#𮳅;
#𮳆;
#𮳇;
#𮳈;
#𮳉;
#𮳊;
#𮳋;
#𮳌;
#𮳍;
#𮳎;
#𮳏;
#𮳐;
#𮳑;
#𮳒;
#𮳓;
#𮳔;
#𮳕;
#𮳖;
#𮳗;
#𮳘;
#𮳙;
#𮳚;
#𮳛;
#𮳜;
#𮳝;
#𮳞;
#𮳟;
#𮳠;
#𮳡;
#𮳢;
#𮳣;
#𮳤;
#𮳥;
#𮳦;
#𮳧;
#𮳨;
#𮳩;
#𮳪;
#𮳫;
#𮳬;
#𮳭;
#𮳮;
#𮳯;
#𮳰;
#𮳱;
#𮳲;
#𮳳;
#𮳴;
#𮳵;
#𮳶;
#𮳷;
#𮳸;
#𮳹;
#𮳺;
#𮳻;
#𮳼;
#𮳽;
#𮳾;
#𮳿;
#𮴀;
#𮴁;
#𮴂;
#𮴃;
#𮴄;
#𮴅;
#𮴆;
#𮴇;
#𮴈;
#𮴉;
#𮴊;
#𮴋;
#𮴌;
#𮴍;
#𮴎;
#𮴏;
#𮴐;
#𮴑;
#𮴒;
#𮴓;
#𮴔;
#𮴕;
#𮴖;
#𮴗;
#𮴘;
#𮴙;
#𮴚;
#𮴛;
#𮴜;
#𮴝;
#𮴞;
#𮴟;
#𮴠;
#𮴡;
#𮴢;
#𮴣;
#𮴤;
#𮴥;
#𮴦;
#𮴧;
#𮴨;
#𮴩;
#𮴪;
#𮴫;
#𮴬;
#𮴭;
#𮴮;
#𮴯;
#𮴰;
#𮴱;
#𮴲;
#𮴳;
#𮴴;
#𮴵;
#𮴶;
#𮴷;
#𮴸;
#𮴹;
#𮴺;
#𮴻;
#𮴼;
#𮴽;
#𮴾;
#𮴿;
#𮵀;
#𮵁;
#𮵂;
#𮵃;
#𮵄;
#𮵅;
#𮵆;
#𮵇;
#𮵈;
#𮵉;
#𮵊;
#𮵋;
#𮵌;
#𮵍;
#𮵎;
#𮵏;
#𮵐;
#𮵑;
#𮵒;
#𮵓;
#𮵔;
#𮵕;
#𮵖;
#𮵗;
#𮵘;
#𮵙;
#𮵚;
#𮵛;
#𮵜;
#𮵝;
#𮵞;
#𮵟;
#𮵠;
#𮵡;
#𮵢;
#𮵣;
#𮵤;
#𮵥;
#𮵦;
#𮵧;
#𮵨;
#𮵩;
#𮵪;
#𮵫;
#𮵬;
#𮵭;
#𮵮;
#𮵯;
#𮵰;
#𮵱;
#𮵲;
#𮵳;
#𮵴;
#𮵵;
#𮵶;
#𮵷;
#𮵸;
#𮵹;
#𮵺;
#𮵻;
#𮵼;
#𮵽;
#𮵾;
#𮵿;
#𮶀;
#𮶁;
#𮶂;
#𮶃;
#𮶄;
#𮶅;
#𮶆;
#𮶇;
#𮶈;
#𮶉;
#𮶊;
#𮶋;
#𮶌;
#𮶍;
#𮶎;
#𮶏;
#𮶐;
#𮶑;
#𮶒;
#𮶓;
#𮶔;
#𮶕;
#𮶖;
#𮶗;
#𮶘;
#𮶙;
#𮶚;
#𮶛;
#𮶜;
#𮶝;
#𮶞;
#𮶟;
#𮶠;
#𮶡;
#𮶢;
#𮶣;
#𮶤;
#𮶥;
#𮶦;
#𮶧;
#𮶨;
#𮶩;
#𮶪;
#𮶫;
#𮶬;
#𮶭;
#𮶮;
#𮶯;
#𮶰;
#𮶱;
#𮶲;
#𮶳;
#𮶴;
#𮶵;
#𮶶;
#𮶷;
#𮶸;
#𮶹;
#𮶺;
#𮶻;
#𮶼;
#𮶽;
#𮶾;
#𮶿;
#𮷀;
#𮷁;
#𮷂;
#𮷃;
#𮷄;
#𮷅;
#𮷆;
#𮷇;
#𮷈;
#𮷉;
#𮷊;
#𮷋;
#𮷌;
#𮷍;
#𮷎;
#𮷏;
#𮷐;
#𮷑;
#𮷒;
#𮷓;
#𮷔;
#𮷕;
#𮷖;
#𮷗;
#𮷘;
#𮷙;
#𮷚;
#𮷛;
#𮷜;
#𮷝;
#𮷞;
#𮷟;
#𮷠;
#𮷡;
#𮷢;
#𮷣;
#𮷤;
#𮷥;
#𮷦;
#𮷧;
#𮷨;
#𮷩;
#𮷪;
#𮷫;
#𮷬;
#𮷭;
#𮷮;
#𮷯;
#𮷰;
#𮷱;
#𮷲;
#𮷳;
#𮷴;
#𮷵;
#𮷶;
#𮷷;
#𮷸;
#𮷹;
#𮷺;
#𮷻;
#𮷼;
#𮷽;
#𮷾;
#𮷿;
#𮸀;
#𮸁;
#𮸂;
#𮸃;
#𮸄;
#𮸅;
#𮸆;
#𮸇;
#𮸈;
#𮸉;
#𮸊;
#𮸋;
#𮸌;
#𮸍;
#𮸎;
#𮸏;
#𮸐;
#𮸑;
#𮸒;
#𮸓;
#𮸔;
#𮸕;
#𮸖;
#𮸗;
#𮸘;
#𮸙;
#𮸚;
#𮸛;
#𮸜;
#𮸝;
#𮸞;
#𮸟;
#𮸠;
#𮸡;
#𮸢;
#𮸣;
#𮸤;
#𮸥;
#𮸦;
#𮸧;
#𮸨;
#𮸩;
#𮸪;
#𮸫;
#𮸬;
#𮸭;
#𮸮;
#𮸯;
#𮸰;
#𮸱;
#𮸲;
#𮸳;
#𮸴;
#𮸵;
#𮸶;
#𮸷;
#𮸸;
#𮸹;
#𮸺;
#𮸻;
#𮸼;
#𮸽;
#𮸾;
#𮸿;
#𮹀;
#𮹁;
#𮹂;
#𮹃;
#𮹄;
#𮹅;
#𮹆;
#𮹇;
#𮹈;
#𮹉;
#𮹊;
#𮹋;
#𮹌;
#𮹍;
#𮹎;
#𮹏;
#𮹐;
#𮹑;
#𮹒;
#𮹓;
#𮹔;
#𮹕;
#𮹖;
#𮹗;
#𮹘;
#𮹙;
#𮹚;
#𮹛;
#𮹜;
#𮹝;
};

View File

@ -0,0 +1,637 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: sec-names-and-keywords
description: |
Test that Unicode v15.1.0 ID_Start characters are accepted as
identifier start characters in escaped form, i.e.
- \uXXXX or \u{XXXX} for BMP symbols
- \u{XXXXXX} for astral symbols
info: |
Generated by https://github.com/mathiasbynens/caniunicode
---*/
var \u{2EBF0};
var \u{2EBF1};
var \u{2EBF2};
var \u{2EBF3};
var \u{2EBF4};
var \u{2EBF5};
var \u{2EBF6};
var \u{2EBF7};
var \u{2EBF8};
var \u{2EBF9};
var \u{2EBFA};
var \u{2EBFB};
var \u{2EBFC};
var \u{2EBFD};
var \u{2EBFE};
var \u{2EBFF};
var \u{2EC00};
var \u{2EC01};
var \u{2EC02};
var \u{2EC03};
var \u{2EC04};
var \u{2EC05};
var \u{2EC06};
var \u{2EC07};
var \u{2EC08};
var \u{2EC09};
var \u{2EC0A};
var \u{2EC0B};
var \u{2EC0C};
var \u{2EC0D};
var \u{2EC0E};
var \u{2EC0F};
var \u{2EC10};
var \u{2EC11};
var \u{2EC12};
var \u{2EC13};
var \u{2EC14};
var \u{2EC15};
var \u{2EC16};
var \u{2EC17};
var \u{2EC18};
var \u{2EC19};
var \u{2EC1A};
var \u{2EC1B};
var \u{2EC1C};
var \u{2EC1D};
var \u{2EC1E};
var \u{2EC1F};
var \u{2EC20};
var \u{2EC21};
var \u{2EC22};
var \u{2EC23};
var \u{2EC24};
var \u{2EC25};
var \u{2EC26};
var \u{2EC27};
var \u{2EC28};
var \u{2EC29};
var \u{2EC2A};
var \u{2EC2B};
var \u{2EC2C};
var \u{2EC2D};
var \u{2EC2E};
var \u{2EC2F};
var \u{2EC30};
var \u{2EC31};
var \u{2EC32};
var \u{2EC33};
var \u{2EC34};
var \u{2EC35};
var \u{2EC36};
var \u{2EC37};
var \u{2EC38};
var \u{2EC39};
var \u{2EC3A};
var \u{2EC3B};
var \u{2EC3C};
var \u{2EC3D};
var \u{2EC3E};
var \u{2EC3F};
var \u{2EC40};
var \u{2EC41};
var \u{2EC42};
var \u{2EC43};
var \u{2EC44};
var \u{2EC45};
var \u{2EC46};
var \u{2EC47};
var \u{2EC48};
var \u{2EC49};
var \u{2EC4A};
var \u{2EC4B};
var \u{2EC4C};
var \u{2EC4D};
var \u{2EC4E};
var \u{2EC4F};
var \u{2EC50};
var \u{2EC51};
var \u{2EC52};
var \u{2EC53};
var \u{2EC54};
var \u{2EC55};
var \u{2EC56};
var \u{2EC57};
var \u{2EC58};
var \u{2EC59};
var \u{2EC5A};
var \u{2EC5B};
var \u{2EC5C};
var \u{2EC5D};
var \u{2EC5E};
var \u{2EC5F};
var \u{2EC60};
var \u{2EC61};
var \u{2EC62};
var \u{2EC63};
var \u{2EC64};
var \u{2EC65};
var \u{2EC66};
var \u{2EC67};
var \u{2EC68};
var \u{2EC69};
var \u{2EC6A};
var \u{2EC6B};
var \u{2EC6C};
var \u{2EC6D};
var \u{2EC6E};
var \u{2EC6F};
var \u{2EC70};
var \u{2EC71};
var \u{2EC72};
var \u{2EC73};
var \u{2EC74};
var \u{2EC75};
var \u{2EC76};
var \u{2EC77};
var \u{2EC78};
var \u{2EC79};
var \u{2EC7A};
var \u{2EC7B};
var \u{2EC7C};
var \u{2EC7D};
var \u{2EC7E};
var \u{2EC7F};
var \u{2EC80};
var \u{2EC81};
var \u{2EC82};
var \u{2EC83};
var \u{2EC84};
var \u{2EC85};
var \u{2EC86};
var \u{2EC87};
var \u{2EC88};
var \u{2EC89};
var \u{2EC8A};
var \u{2EC8B};
var \u{2EC8C};
var \u{2EC8D};
var \u{2EC8E};
var \u{2EC8F};
var \u{2EC90};
var \u{2EC91};
var \u{2EC92};
var \u{2EC93};
var \u{2EC94};
var \u{2EC95};
var \u{2EC96};
var \u{2EC97};
var \u{2EC98};
var \u{2EC99};
var \u{2EC9A};
var \u{2EC9B};
var \u{2EC9C};
var \u{2EC9D};
var \u{2EC9E};
var \u{2EC9F};
var \u{2ECA0};
var \u{2ECA1};
var \u{2ECA2};
var \u{2ECA3};
var \u{2ECA4};
var \u{2ECA5};
var \u{2ECA6};
var \u{2ECA7};
var \u{2ECA8};
var \u{2ECA9};
var \u{2ECAA};
var \u{2ECAB};
var \u{2ECAC};
var \u{2ECAD};
var \u{2ECAE};
var \u{2ECAF};
var \u{2ECB0};
var \u{2ECB1};
var \u{2ECB2};
var \u{2ECB3};
var \u{2ECB4};
var \u{2ECB5};
var \u{2ECB6};
var \u{2ECB7};
var \u{2ECB8};
var \u{2ECB9};
var \u{2ECBA};
var \u{2ECBB};
var \u{2ECBC};
var \u{2ECBD};
var \u{2ECBE};
var \u{2ECBF};
var \u{2ECC0};
var \u{2ECC1};
var \u{2ECC2};
var \u{2ECC3};
var \u{2ECC4};
var \u{2ECC5};
var \u{2ECC6};
var \u{2ECC7};
var \u{2ECC8};
var \u{2ECC9};
var \u{2ECCA};
var \u{2ECCB};
var \u{2ECCC};
var \u{2ECCD};
var \u{2ECCE};
var \u{2ECCF};
var \u{2ECD0};
var \u{2ECD1};
var \u{2ECD2};
var \u{2ECD3};
var \u{2ECD4};
var \u{2ECD5};
var \u{2ECD6};
var \u{2ECD7};
var \u{2ECD8};
var \u{2ECD9};
var \u{2ECDA};
var \u{2ECDB};
var \u{2ECDC};
var \u{2ECDD};
var \u{2ECDE};
var \u{2ECDF};
var \u{2ECE0};
var \u{2ECE1};
var \u{2ECE2};
var \u{2ECE3};
var \u{2ECE4};
var \u{2ECE5};
var \u{2ECE6};
var \u{2ECE7};
var \u{2ECE8};
var \u{2ECE9};
var \u{2ECEA};
var \u{2ECEB};
var \u{2ECEC};
var \u{2ECED};
var \u{2ECEE};
var \u{2ECEF};
var \u{2ECF0};
var \u{2ECF1};
var \u{2ECF2};
var \u{2ECF3};
var \u{2ECF4};
var \u{2ECF5};
var \u{2ECF6};
var \u{2ECF7};
var \u{2ECF8};
var \u{2ECF9};
var \u{2ECFA};
var \u{2ECFB};
var \u{2ECFC};
var \u{2ECFD};
var \u{2ECFE};
var \u{2ECFF};
var \u{2ED00};
var \u{2ED01};
var \u{2ED02};
var \u{2ED03};
var \u{2ED04};
var \u{2ED05};
var \u{2ED06};
var \u{2ED07};
var \u{2ED08};
var \u{2ED09};
var \u{2ED0A};
var \u{2ED0B};
var \u{2ED0C};
var \u{2ED0D};
var \u{2ED0E};
var \u{2ED0F};
var \u{2ED10};
var \u{2ED11};
var \u{2ED12};
var \u{2ED13};
var \u{2ED14};
var \u{2ED15};
var \u{2ED16};
var \u{2ED17};
var \u{2ED18};
var \u{2ED19};
var \u{2ED1A};
var \u{2ED1B};
var \u{2ED1C};
var \u{2ED1D};
var \u{2ED1E};
var \u{2ED1F};
var \u{2ED20};
var \u{2ED21};
var \u{2ED22};
var \u{2ED23};
var \u{2ED24};
var \u{2ED25};
var \u{2ED26};
var \u{2ED27};
var \u{2ED28};
var \u{2ED29};
var \u{2ED2A};
var \u{2ED2B};
var \u{2ED2C};
var \u{2ED2D};
var \u{2ED2E};
var \u{2ED2F};
var \u{2ED30};
var \u{2ED31};
var \u{2ED32};
var \u{2ED33};
var \u{2ED34};
var \u{2ED35};
var \u{2ED36};
var \u{2ED37};
var \u{2ED38};
var \u{2ED39};
var \u{2ED3A};
var \u{2ED3B};
var \u{2ED3C};
var \u{2ED3D};
var \u{2ED3E};
var \u{2ED3F};
var \u{2ED40};
var \u{2ED41};
var \u{2ED42};
var \u{2ED43};
var \u{2ED44};
var \u{2ED45};
var \u{2ED46};
var \u{2ED47};
var \u{2ED48};
var \u{2ED49};
var \u{2ED4A};
var \u{2ED4B};
var \u{2ED4C};
var \u{2ED4D};
var \u{2ED4E};
var \u{2ED4F};
var \u{2ED50};
var \u{2ED51};
var \u{2ED52};
var \u{2ED53};
var \u{2ED54};
var \u{2ED55};
var \u{2ED56};
var \u{2ED57};
var \u{2ED58};
var \u{2ED59};
var \u{2ED5A};
var \u{2ED5B};
var \u{2ED5C};
var \u{2ED5D};
var \u{2ED5E};
var \u{2ED5F};
var \u{2ED60};
var \u{2ED61};
var \u{2ED62};
var \u{2ED63};
var \u{2ED64};
var \u{2ED65};
var \u{2ED66};
var \u{2ED67};
var \u{2ED68};
var \u{2ED69};
var \u{2ED6A};
var \u{2ED6B};
var \u{2ED6C};
var \u{2ED6D};
var \u{2ED6E};
var \u{2ED6F};
var \u{2ED70};
var \u{2ED71};
var \u{2ED72};
var \u{2ED73};
var \u{2ED74};
var \u{2ED75};
var \u{2ED76};
var \u{2ED77};
var \u{2ED78};
var \u{2ED79};
var \u{2ED7A};
var \u{2ED7B};
var \u{2ED7C};
var \u{2ED7D};
var \u{2ED7E};
var \u{2ED7F};
var \u{2ED80};
var \u{2ED81};
var \u{2ED82};
var \u{2ED83};
var \u{2ED84};
var \u{2ED85};
var \u{2ED86};
var \u{2ED87};
var \u{2ED88};
var \u{2ED89};
var \u{2ED8A};
var \u{2ED8B};
var \u{2ED8C};
var \u{2ED8D};
var \u{2ED8E};
var \u{2ED8F};
var \u{2ED90};
var \u{2ED91};
var \u{2ED92};
var \u{2ED93};
var \u{2ED94};
var \u{2ED95};
var \u{2ED96};
var \u{2ED97};
var \u{2ED98};
var \u{2ED99};
var \u{2ED9A};
var \u{2ED9B};
var \u{2ED9C};
var \u{2ED9D};
var \u{2ED9E};
var \u{2ED9F};
var \u{2EDA0};
var \u{2EDA1};
var \u{2EDA2};
var \u{2EDA3};
var \u{2EDA4};
var \u{2EDA5};
var \u{2EDA6};
var \u{2EDA7};
var \u{2EDA8};
var \u{2EDA9};
var \u{2EDAA};
var \u{2EDAB};
var \u{2EDAC};
var \u{2EDAD};
var \u{2EDAE};
var \u{2EDAF};
var \u{2EDB0};
var \u{2EDB1};
var \u{2EDB2};
var \u{2EDB3};
var \u{2EDB4};
var \u{2EDB5};
var \u{2EDB6};
var \u{2EDB7};
var \u{2EDB8};
var \u{2EDB9};
var \u{2EDBA};
var \u{2EDBB};
var \u{2EDBC};
var \u{2EDBD};
var \u{2EDBE};
var \u{2EDBF};
var \u{2EDC0};
var \u{2EDC1};
var \u{2EDC2};
var \u{2EDC3};
var \u{2EDC4};
var \u{2EDC5};
var \u{2EDC6};
var \u{2EDC7};
var \u{2EDC8};
var \u{2EDC9};
var \u{2EDCA};
var \u{2EDCB};
var \u{2EDCC};
var \u{2EDCD};
var \u{2EDCE};
var \u{2EDCF};
var \u{2EDD0};
var \u{2EDD1};
var \u{2EDD2};
var \u{2EDD3};
var \u{2EDD4};
var \u{2EDD5};
var \u{2EDD6};
var \u{2EDD7};
var \u{2EDD8};
var \u{2EDD9};
var \u{2EDDA};
var \u{2EDDB};
var \u{2EDDC};
var \u{2EDDD};
var \u{2EDDE};
var \u{2EDDF};
var \u{2EDE0};
var \u{2EDE1};
var \u{2EDE2};
var \u{2EDE3};
var \u{2EDE4};
var \u{2EDE5};
var \u{2EDE6};
var \u{2EDE7};
var \u{2EDE8};
var \u{2EDE9};
var \u{2EDEA};
var \u{2EDEB};
var \u{2EDEC};
var \u{2EDED};
var \u{2EDEE};
var \u{2EDEF};
var \u{2EDF0};
var \u{2EDF1};
var \u{2EDF2};
var \u{2EDF3};
var \u{2EDF4};
var \u{2EDF5};
var \u{2EDF6};
var \u{2EDF7};
var \u{2EDF8};
var \u{2EDF9};
var \u{2EDFA};
var \u{2EDFB};
var \u{2EDFC};
var \u{2EDFD};
var \u{2EDFE};
var \u{2EDFF};
var \u{2EE00};
var \u{2EE01};
var \u{2EE02};
var \u{2EE03};
var \u{2EE04};
var \u{2EE05};
var \u{2EE06};
var \u{2EE07};
var \u{2EE08};
var \u{2EE09};
var \u{2EE0A};
var \u{2EE0B};
var \u{2EE0C};
var \u{2EE0D};
var \u{2EE0E};
var \u{2EE0F};
var \u{2EE10};
var \u{2EE11};
var \u{2EE12};
var \u{2EE13};
var \u{2EE14};
var \u{2EE15};
var \u{2EE16};
var \u{2EE17};
var \u{2EE18};
var \u{2EE19};
var \u{2EE1A};
var \u{2EE1B};
var \u{2EE1C};
var \u{2EE1D};
var \u{2EE1E};
var \u{2EE1F};
var \u{2EE20};
var \u{2EE21};
var \u{2EE22};
var \u{2EE23};
var \u{2EE24};
var \u{2EE25};
var \u{2EE26};
var \u{2EE27};
var \u{2EE28};
var \u{2EE29};
var \u{2EE2A};
var \u{2EE2B};
var \u{2EE2C};
var \u{2EE2D};
var \u{2EE2E};
var \u{2EE2F};
var \u{2EE30};
var \u{2EE31};
var \u{2EE32};
var \u{2EE33};
var \u{2EE34};
var \u{2EE35};
var \u{2EE36};
var \u{2EE37};
var \u{2EE38};
var \u{2EE39};
var \u{2EE3A};
var \u{2EE3B};
var \u{2EE3C};
var \u{2EE3D};
var \u{2EE3E};
var \u{2EE3F};
var \u{2EE40};
var \u{2EE41};
var \u{2EE42};
var \u{2EE43};
var \u{2EE44};
var \u{2EE45};
var \u{2EE46};
var \u{2EE47};
var \u{2EE48};
var \u{2EE49};
var \u{2EE4A};
var \u{2EE4B};
var \u{2EE4C};
var \u{2EE4D};
var \u{2EE4E};
var \u{2EE4F};
var \u{2EE50};
var \u{2EE51};
var \u{2EE52};
var \u{2EE53};
var \u{2EE54};
var \u{2EE55};
var \u{2EE56};
var \u{2EE57};
var \u{2EE58};
var \u{2EE59};
var \u{2EE5A};
var \u{2EE5B};
var \u{2EE5C};
var \u{2EE5D};

View File

@ -0,0 +1,635 @@
// Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
esid: sec-names-and-keywords
description: |
Test that Unicode v15.1.0 ID_Start characters are accepted as
identifier start characters.
info: |
Generated by https://github.com/mathiasbynens/caniunicode
---*/
var 𮯰;
var 𮯱;
var 𮯲;
var 𮯳;
var 𮯴;
var 𮯵;
var 𮯶;
var 𮯷;
var 𮯸;
var 𮯹;
var 𮯺;
var 𮯻;
var 𮯼;
var 𮯽;
var 𮯾;
var 𮯿;
var 𮰀;
var 𮰁;
var 𮰂;
var 𮰃;
var 𮰄;
var 𮰅;
var 𮰆;
var 𮰇;
var 𮰈;
var 𮰉;
var 𮰊;
var 𮰋;
var 𮰌;
var 𮰍;
var 𮰎;
var 𮰏;
var 𮰐;
var 𮰑;
var 𮰒;
var 𮰓;
var 𮰔;
var 𮰕;
var 𮰖;
var 𮰗;
var 𮰘;
var 𮰙;
var 𮰚;
var 𮰛;
var 𮰜;
var 𮰝;
var 𮰞;
var 𮰟;
var 𮰠;
var 𮰡;
var 𮰢;
var 𮰣;
var 𮰤;
var 𮰥;
var 𮰦;
var 𮰧;
var 𮰨;
var 𮰩;
var 𮰪;
var 𮰫;
var 𮰬;
var 𮰭;
var 𮰮;
var 𮰯;
var 𮰰;
var 𮰱;
var 𮰲;
var 𮰳;
var 𮰴;
var 𮰵;
var 𮰶;
var 𮰷;
var 𮰸;
var 𮰹;
var 𮰺;
var 𮰻;
var 𮰼;
var 𮰽;
var 𮰾;
var 𮰿;
var 𮱀;
var 𮱁;
var 𮱂;
var 𮱃;
var 𮱄;
var 𮱅;
var 𮱆;
var 𮱇;
var 𮱈;
var 𮱉;
var 𮱊;
var 𮱋;
var 𮱌;
var 𮱍;
var 𮱎;
var 𮱏;
var 𮱐;
var 𮱑;
var 𮱒;
var 𮱓;
var 𮱔;
var 𮱕;
var 𮱖;
var 𮱗;
var 𮱘;
var 𮱙;
var 𮱚;
var 𮱛;
var 𮱜;
var 𮱝;
var 𮱞;
var 𮱟;
var 𮱠;
var 𮱡;
var 𮱢;
var 𮱣;
var 𮱤;
var 𮱥;
var 𮱦;
var 𮱧;
var 𮱨;
var 𮱩;
var 𮱪;
var 𮱫;
var 𮱬;
var 𮱭;
var 𮱮;
var 𮱯;
var 𮱰;
var 𮱱;
var 𮱲;
var 𮱳;
var 𮱴;
var 𮱵;
var 𮱶;
var 𮱷;
var 𮱸;
var 𮱹;
var 𮱺;
var 𮱻;
var 𮱼;
var 𮱽;
var 𮱾;
var 𮱿;
var 𮲀;
var 𮲁;
var 𮲂;
var 𮲃;
var 𮲄;
var 𮲅;
var 𮲆;
var 𮲇;
var 𮲈;
var 𮲉;
var 𮲊;
var 𮲋;
var 𮲌;
var 𮲍;
var 𮲎;
var 𮲏;
var 𮲐;
var 𮲑;
var 𮲒;
var 𮲓;
var 𮲔;
var 𮲕;
var 𮲖;
var 𮲗;
var 𮲘;
var 𮲙;
var 𮲚;
var 𮲛;
var 𮲜;
var 𮲝;
var 𮲞;
var 𮲟;
var 𮲠;
var 𮲡;
var 𮲢;
var 𮲣;
var 𮲤;
var 𮲥;
var 𮲦;
var 𮲧;
var 𮲨;
var 𮲩;
var 𮲪;
var 𮲫;
var 𮲬;
var 𮲭;
var 𮲮;
var 𮲯;
var 𮲰;
var 𮲱;
var 𮲲;
var 𮲳;
var 𮲴;
var 𮲵;
var 𮲶;
var 𮲷;
var 𮲸;
var 𮲹;
var 𮲺;
var 𮲻;
var 𮲼;
var 𮲽;
var 𮲾;
var 𮲿;
var 𮳀;
var 𮳁;
var 𮳂;
var 𮳃;
var 𮳄;
var 𮳅;
var 𮳆;
var 𮳇;
var 𮳈;
var 𮳉;
var 𮳊;
var 𮳋;
var 𮳌;
var 𮳍;
var 𮳎;
var 𮳏;
var 𮳐;
var 𮳑;
var 𮳒;
var 𮳓;
var 𮳔;
var 𮳕;
var 𮳖;
var 𮳗;
var 𮳘;
var 𮳙;
var 𮳚;
var 𮳛;
var 𮳜;
var 𮳝;
var 𮳞;
var 𮳟;
var 𮳠;
var 𮳡;
var 𮳢;
var 𮳣;
var 𮳤;
var 𮳥;
var 𮳦;
var 𮳧;
var 𮳨;
var 𮳩;
var 𮳪;
var 𮳫;
var 𮳬;
var 𮳭;
var 𮳮;
var 𮳯;
var 𮳰;
var 𮳱;
var 𮳲;
var 𮳳;
var 𮳴;
var 𮳵;
var 𮳶;
var 𮳷;
var 𮳸;
var 𮳹;
var 𮳺;
var 𮳻;
var 𮳼;
var 𮳽;
var 𮳾;
var 𮳿;
var 𮴀;
var 𮴁;
var 𮴂;
var 𮴃;
var 𮴄;
var 𮴅;
var 𮴆;
var 𮴇;
var 𮴈;
var 𮴉;
var 𮴊;
var 𮴋;
var 𮴌;
var 𮴍;
var 𮴎;
var 𮴏;
var 𮴐;
var 𮴑;
var 𮴒;
var 𮴓;
var 𮴔;
var 𮴕;
var 𮴖;
var 𮴗;
var 𮴘;
var 𮴙;
var 𮴚;
var 𮴛;
var 𮴜;
var 𮴝;
var 𮴞;
var 𮴟;
var 𮴠;
var 𮴡;
var 𮴢;
var 𮴣;
var 𮴤;
var 𮴥;
var 𮴦;
var 𮴧;
var 𮴨;
var 𮴩;
var 𮴪;
var 𮴫;
var 𮴬;
var 𮴭;
var 𮴮;
var 𮴯;
var 𮴰;
var 𮴱;
var 𮴲;
var 𮴳;
var 𮴴;
var 𮴵;
var 𮴶;
var 𮴷;
var 𮴸;
var 𮴹;
var 𮴺;
var 𮴻;
var 𮴼;
var 𮴽;
var 𮴾;
var 𮴿;
var 𮵀;
var 𮵁;
var 𮵂;
var 𮵃;
var 𮵄;
var 𮵅;
var 𮵆;
var 𮵇;
var 𮵈;
var 𮵉;
var 𮵊;
var 𮵋;
var 𮵌;
var 𮵍;
var 𮵎;
var 𮵏;
var 𮵐;
var 𮵑;
var 𮵒;
var 𮵓;
var 𮵔;
var 𮵕;
var 𮵖;
var 𮵗;
var 𮵘;
var 𮵙;
var 𮵚;
var 𮵛;
var 𮵜;
var 𮵝;
var 𮵞;
var 𮵟;
var 𮵠;
var 𮵡;
var 𮵢;
var 𮵣;
var 𮵤;
var 𮵥;
var 𮵦;
var 𮵧;
var 𮵨;
var 𮵩;
var 𮵪;
var 𮵫;
var 𮵬;
var 𮵭;
var 𮵮;
var 𮵯;
var 𮵰;
var 𮵱;
var 𮵲;
var 𮵳;
var 𮵴;
var 𮵵;
var 𮵶;
var 𮵷;
var 𮵸;
var 𮵹;
var 𮵺;
var 𮵻;
var 𮵼;
var 𮵽;
var 𮵾;
var 𮵿;
var 𮶀;
var 𮶁;
var 𮶂;
var 𮶃;
var 𮶄;
var 𮶅;
var 𮶆;
var 𮶇;
var 𮶈;
var 𮶉;
var 𮶊;
var 𮶋;
var 𮶌;
var 𮶍;
var 𮶎;
var 𮶏;
var 𮶐;
var 𮶑;
var 𮶒;
var 𮶓;
var 𮶔;
var 𮶕;
var 𮶖;
var 𮶗;
var 𮶘;
var 𮶙;
var 𮶚;
var 𮶛;
var 𮶜;
var 𮶝;
var 𮶞;
var 𮶟;
var 𮶠;
var 𮶡;
var 𮶢;
var 𮶣;
var 𮶤;
var 𮶥;
var 𮶦;
var 𮶧;
var 𮶨;
var 𮶩;
var 𮶪;
var 𮶫;
var 𮶬;
var 𮶭;
var 𮶮;
var 𮶯;
var 𮶰;
var 𮶱;
var 𮶲;
var 𮶳;
var 𮶴;
var 𮶵;
var 𮶶;
var 𮶷;
var 𮶸;
var 𮶹;
var 𮶺;
var 𮶻;
var 𮶼;
var 𮶽;
var 𮶾;
var 𮶿;
var 𮷀;
var 𮷁;
var 𮷂;
var 𮷃;
var 𮷄;
var 𮷅;
var 𮷆;
var 𮷇;
var 𮷈;
var 𮷉;
var 𮷊;
var 𮷋;
var 𮷌;
var 𮷍;
var 𮷎;
var 𮷏;
var 𮷐;
var 𮷑;
var 𮷒;
var 𮷓;
var 𮷔;
var 𮷕;
var 𮷖;
var 𮷗;
var 𮷘;
var 𮷙;
var 𮷚;
var 𮷛;
var 𮷜;
var 𮷝;
var 𮷞;
var 𮷟;
var 𮷠;
var 𮷡;
var 𮷢;
var 𮷣;
var 𮷤;
var 𮷥;
var 𮷦;
var 𮷧;
var 𮷨;
var 𮷩;
var 𮷪;
var 𮷫;
var 𮷬;
var 𮷭;
var 𮷮;
var 𮷯;
var 𮷰;
var 𮷱;
var 𮷲;
var 𮷳;
var 𮷴;
var 𮷵;
var 𮷶;
var 𮷷;
var 𮷸;
var 𮷹;
var 𮷺;
var 𮷻;
var 𮷼;
var 𮷽;
var 𮷾;
var 𮷿;
var 𮸀;
var 𮸁;
var 𮸂;
var 𮸃;
var 𮸄;
var 𮸅;
var 𮸆;
var 𮸇;
var 𮸈;
var 𮸉;
var 𮸊;
var 𮸋;
var 𮸌;
var 𮸍;
var 𮸎;
var 𮸏;
var 𮸐;
var 𮸑;
var 𮸒;
var 𮸓;
var 𮸔;
var 𮸕;
var 𮸖;
var 𮸗;
var 𮸘;
var 𮸙;
var 𮸚;
var 𮸛;
var 𮸜;
var 𮸝;
var 𮸞;
var 𮸟;
var 𮸠;
var 𮸡;
var 𮸢;
var 𮸣;
var 𮸤;
var 𮸥;
var 𮸦;
var 𮸧;
var 𮸨;
var 𮸩;
var 𮸪;
var 𮸫;
var 𮸬;
var 𮸭;
var 𮸮;
var 𮸯;
var 𮸰;
var 𮸱;
var 𮸲;
var 𮸳;
var 𮸴;
var 𮸵;
var 𮸶;
var 𮸷;
var 𮸸;
var 𮸹;
var 𮸺;
var 𮸻;
var 𮸼;
var 𮸽;
var 𮸾;
var 𮸿;
var 𮹀;
var 𮹁;
var 𮹂;
var 𮹃;
var 𮹄;
var 𮹅;
var 𮹆;
var 𮹇;
var 𮹈;
var 𮹉;
var 𮹊;
var 𮹋;
var 𮹌;
var 𮹍;
var 𮹎;
var 𮹏;
var 𮹐;
var 𮹑;
var 𮹒;
var 𮹓;
var 𮹔;
var 𮹕;
var 𮹖;
var 𮹗;
var 𮹘;
var 𮹙;
var 𮹚;
var 𮹛;
var 𮹜;
var 𮹝;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

View File

@ -1,4 +1,4 @@
// Copyright 2022 Mathias Bynens. All rights reserved. // Copyright 2024 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---

Some files were not shown because too many files have changed in this diff Show More