Skip to content

Commit 27d7962

Browse files
mathiasbynensptomato
authored andcommitted
Add tests for Unicode 17 identifiers and unicodeSets
Issue: tc39/ecma262#3688
1 parent 26058a0 commit 27d7962

File tree

9 files changed

+18902
-0
lines changed

9 files changed

+18902
-0
lines changed
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
// Copyright 2025 Mathias Bynens. All rights reserved.
2+
// This code is governed by the BSD license found in the LICENSE file.
3+
4+
/*---
5+
author: Mathias Bynens
6+
description: >
7+
Test that Unicode property escapes for `RGI_Emoji` (property of strings)
8+
match Emoji 17.0 strings.
9+
info: |
10+
Generated by https://github.com/mathiasbynens/caniunicode
11+
esid: sec-static-semantics-unicodematchproperty-p
12+
features: [regexp-unicode-property-escapes, regexp-v-flag]
13+
includes: [regExpUtils.js]
14+
---*/
15+
16+
testPropertyOfStrings({
17+
regExp: /^\p{RGI_Emoji}+$/v,
18+
expression: "\\p{RGI_Emoji}",
19+
matchStrings: [
20+
"\u{1F468}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FC}",
21+
"\u{1F468}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FD}",
22+
"\u{1F468}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FE}",
23+
"\u{1F468}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FF}",
24+
"\u{1F468}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FC}",
25+
"\u{1F468}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FD}",
26+
"\u{1F468}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FE}",
27+
"\u{1F468}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FF}",
28+
"\u{1F468}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FB}",
29+
"\u{1F468}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FD}",
30+
"\u{1F468}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FE}",
31+
"\u{1F468}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FF}",
32+
"\u{1F468}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FB}",
33+
"\u{1F468}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FD}",
34+
"\u{1F468}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FE}",
35+
"\u{1F468}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FF}",
36+
"\u{1F468}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FB}",
37+
"\u{1F468}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FC}",
38+
"\u{1F468}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FE}",
39+
"\u{1F468}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FF}",
40+
"\u{1F468}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FB}",
41+
"\u{1F468}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FC}",
42+
"\u{1F468}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FE}",
43+
"\u{1F468}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FF}",
44+
"\u{1F468}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FB}",
45+
"\u{1F468}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FC}",
46+
"\u{1F468}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FD}",
47+
"\u{1F468}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FF}",
48+
"\u{1F468}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FB}",
49+
"\u{1F468}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FC}",
50+
"\u{1F468}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FD}",
51+
"\u{1F468}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FF}",
52+
"\u{1F468}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FB}",
53+
"\u{1F468}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FC}",
54+
"\u{1F468}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FD}",
55+
"\u{1F468}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F468}\u{1F3FE}",
56+
"\u{1F468}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FB}",
57+
"\u{1F468}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FC}",
58+
"\u{1F468}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FD}",
59+
"\u{1F468}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F468}\u{1F3FE}",
60+
"\u{1F469}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FC}",
61+
"\u{1F469}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FD}",
62+
"\u{1F469}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FE}",
63+
"\u{1F469}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FF}",
64+
"\u{1F469}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FC}",
65+
"\u{1F469}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FD}",
66+
"\u{1F469}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FE}",
67+
"\u{1F469}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FF}",
68+
"\u{1F469}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FB}",
69+
"\u{1F469}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FD}",
70+
"\u{1F469}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FE}",
71+
"\u{1F469}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FF}",
72+
"\u{1F469}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FB}",
73+
"\u{1F469}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FD}",
74+
"\u{1F469}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FE}",
75+
"\u{1F469}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FF}",
76+
"\u{1F469}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FB}",
77+
"\u{1F469}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FC}",
78+
"\u{1F469}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FE}",
79+
"\u{1F469}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FF}",
80+
"\u{1F469}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FB}",
81+
"\u{1F469}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FC}",
82+
"\u{1F469}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FE}",
83+
"\u{1F469}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FF}",
84+
"\u{1F469}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FB}",
85+
"\u{1F469}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FC}",
86+
"\u{1F469}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FD}",
87+
"\u{1F469}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FF}",
88+
"\u{1F469}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FB}",
89+
"\u{1F469}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FC}",
90+
"\u{1F469}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FD}",
91+
"\u{1F469}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FF}",
92+
"\u{1F469}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FB}",
93+
"\u{1F469}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FC}",
94+
"\u{1F469}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FD}",
95+
"\u{1F469}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F469}\u{1F3FE}",
96+
"\u{1F469}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FB}",
97+
"\u{1F469}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FC}",
98+
"\u{1F469}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FD}",
99+
"\u{1F469}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F469}\u{1F3FE}",
100+
"\u{1F46F}\u{1F3FB}",
101+
"\u{1F46F}\u{1F3FB}\u200D\u2640\uFE0F",
102+
"\u{1F46F}\u{1F3FB}\u200D\u2642\uFE0F",
103+
"\u{1F46F}\u{1F3FC}",
104+
"\u{1F46F}\u{1F3FC}\u200D\u2640\uFE0F",
105+
"\u{1F46F}\u{1F3FC}\u200D\u2642\uFE0F",
106+
"\u{1F46F}\u{1F3FD}",
107+
"\u{1F46F}\u{1F3FD}\u200D\u2640\uFE0F",
108+
"\u{1F46F}\u{1F3FD}\u200D\u2642\uFE0F",
109+
"\u{1F46F}\u{1F3FE}",
110+
"\u{1F46F}\u{1F3FE}\u200D\u2640\uFE0F",
111+
"\u{1F46F}\u{1F3FE}\u200D\u2642\uFE0F",
112+
"\u{1F46F}\u{1F3FF}",
113+
"\u{1F46F}\u{1F3FF}\u200D\u2640\uFE0F",
114+
"\u{1F46F}\u{1F3FF}\u200D\u2642\uFE0F",
115+
"\u{1F6D8}",
116+
"\u{1F93C}\u{1F3FB}",
117+
"\u{1F93C}\u{1F3FB}\u200D\u2640\uFE0F",
118+
"\u{1F93C}\u{1F3FB}\u200D\u2642\uFE0F",
119+
"\u{1F93C}\u{1F3FC}",
120+
"\u{1F93C}\u{1F3FC}\u200D\u2640\uFE0F",
121+
"\u{1F93C}\u{1F3FC}\u200D\u2642\uFE0F",
122+
"\u{1F93C}\u{1F3FD}",
123+
"\u{1F93C}\u{1F3FD}\u200D\u2640\uFE0F",
124+
"\u{1F93C}\u{1F3FD}\u200D\u2642\uFE0F",
125+
"\u{1F93C}\u{1F3FE}",
126+
"\u{1F93C}\u{1F3FE}\u200D\u2640\uFE0F",
127+
"\u{1F93C}\u{1F3FE}\u200D\u2642\uFE0F",
128+
"\u{1F93C}\u{1F3FF}",
129+
"\u{1F93C}\u{1F3FF}\u200D\u2640\uFE0F",
130+
"\u{1F93C}\u{1F3FF}\u200D\u2642\uFE0F",
131+
"\u{1F9D1}\u200D\u{1FA70}",
132+
"\u{1F9D1}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FC}",
133+
"\u{1F9D1}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FD}",
134+
"\u{1F9D1}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FE}",
135+
"\u{1F9D1}\u{1F3FB}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FF}",
136+
"\u{1F9D1}\u{1F3FB}\u200D\u{1FA70}",
137+
"\u{1F9D1}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FC}",
138+
"\u{1F9D1}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FD}",
139+
"\u{1F9D1}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FE}",
140+
"\u{1F9D1}\u{1F3FB}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FF}",
141+
"\u{1F9D1}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FB}",
142+
"\u{1F9D1}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FD}",
143+
"\u{1F9D1}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FE}",
144+
"\u{1F9D1}\u{1F3FC}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FF}",
145+
"\u{1F9D1}\u{1F3FC}\u200D\u{1FA70}",
146+
"\u{1F9D1}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FB}",
147+
"\u{1F9D1}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FD}",
148+
"\u{1F9D1}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FE}",
149+
"\u{1F9D1}\u{1F3FC}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FF}",
150+
"\u{1F9D1}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FB}",
151+
"\u{1F9D1}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FC}",
152+
"\u{1F9D1}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FE}",
153+
"\u{1F9D1}\u{1F3FD}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FF}",
154+
"\u{1F9D1}\u{1F3FD}\u200D\u{1FA70}",
155+
"\u{1F9D1}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FB}",
156+
"\u{1F9D1}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FC}",
157+
"\u{1F9D1}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FE}",
158+
"\u{1F9D1}\u{1F3FD}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FF}",
159+
"\u{1F9D1}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FB}",
160+
"\u{1F9D1}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FC}",
161+
"\u{1F9D1}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FD}",
162+
"\u{1F9D1}\u{1F3FE}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FF}",
163+
"\u{1F9D1}\u{1F3FE}\u200D\u{1FA70}",
164+
"\u{1F9D1}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FB}",
165+
"\u{1F9D1}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FC}",
166+
"\u{1F9D1}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FD}",
167+
"\u{1F9D1}\u{1F3FE}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FF}",
168+
"\u{1F9D1}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FB}",
169+
"\u{1F9D1}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FC}",
170+
"\u{1F9D1}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FD}",
171+
"\u{1F9D1}\u{1F3FF}\u200D\u{1F430}\u200D\u{1F9D1}\u{1F3FE}",
172+
"\u{1F9D1}\u{1F3FF}\u200D\u{1FA70}",
173+
"\u{1F9D1}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FB}",
174+
"\u{1F9D1}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FC}",
175+
"\u{1F9D1}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FD}",
176+
"\u{1F9D1}\u{1F3FF}\u200D\u{1FAEF}\u200D\u{1F9D1}\u{1F3FE}",
177+
"\u{1FA8A}",
178+
"\u{1FA8E}",
179+
"\u{1FAC8}",
180+
"\u{1FACD}",
181+
"\u{1FAEA}",
182+
"\u{1FAEF}"
183+
],
184+
});
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Copyright 2025 Mathias Bynens. All rights reserved.
2+
// This code is governed by the BSD license found in the LICENSE file.
3+
4+
/*---
5+
author: Mathias Bynens
6+
esid: prod-PrivateIdentifier
7+
description: |
8+
Test that Unicode v17.0.0 ID_Continue characters are accepted as
9+
identifier part characters in escaped form, i.e.
10+
- \uXXXX or \u{XXXX} for BMP symbols
11+
- \u{XXXXXX} for astral symbols
12+
in private class fields.
13+
info: |
14+
Generated by https://github.com/mathiasbynens/caniunicode
15+
features: [class, class-fields-private]
16+
---*/
17+
18+
class _ {
19+
#_\u1ACF\u1AD0\u1AD1\u1AD2\u1AD3\u1AD4\u1AD5\u1AD6\u1AD7\u1AD8\u1AD9\u1ADA\u1ADB\u1ADC\u1ADD\u1AE0\u1AE1\u1AE2\u1AE3\u1AE4\u1AE5\u1AE6\u1AE7\u1AE8\u1AE9\u1AEA\u1AEB\u{10EFA}\u{10EFB}\u{11B60}\u{11B61}\u{11B62}\u{11B63}\u{11B64}\u{11B65}\u{11B66}\u{11B67}\u{11DE0}\u{11DE1}\u{11DE2}\u{11DE3}\u{11DE4}\u{11DE5}\u{11DE6}\u{11DE7}\u{11DE8}\u{11DE9}\u{1E6E3}\u{1E6E6}\u{1E6EE}\u{1E6EF}\u{1E6F5};
20+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2025 Mathias Bynens. All rights reserved.
2+
// This code is governed by the BSD license found in the LICENSE file.
3+
4+
/*---
5+
author: Mathias Bynens
6+
esid: prod-PrivateIdentifier
7+
description: |
8+
Test that Unicode v17.0.0 ID_Continue characters are accepted as
9+
identifier part characters in private class fields.
10+
info: |
11+
Generated by https://github.com/mathiasbynens/caniunicode
12+
features: [class, class-fields-private]
13+
---*/
14+
15+
class _ {
16+
#_᫏᫐᫑᫒᫓᫔᫕᫖᫗᫘᫙᫚᫛᫜᫝᫠᫡᫢᫣᫤᫥᫦᫧᫨᫩᫪᫫𐻺𐻻𑭠𑭡𑭢𑭣𑭤𑭥𑭦𑭧𑷠𑷡𑷢𑷣𑷤𑷥𑷦𑷧𑷨𑷩𞛣𞛦𞛮𞛯𞛵;
17+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright 2025 Mathias Bynens. All rights reserved.
2+
// This code is governed by the BSD license found in the LICENSE file.
3+
4+
/*---
5+
author: Mathias Bynens
6+
esid: sec-names-and-keywords
7+
description: |
8+
Test that Unicode v17.0.0 ID_Continue characters are accepted as
9+
identifier part characters in escaped form, i.e.
10+
- \uXXXX or \u{XXXX} for BMP symbols
11+
- \u{XXXXXX} for astral symbols
12+
info: |
13+
Generated by https://github.com/mathiasbynens/caniunicode
14+
---*/
15+
16+
var _\u1ACF\u1AD0\u1AD1\u1AD2\u1AD3\u1AD4\u1AD5\u1AD6\u1AD7\u1AD8\u1AD9\u1ADA\u1ADB\u1ADC\u1ADD\u1AE0\u1AE1\u1AE2\u1AE3\u1AE4\u1AE5\u1AE6\u1AE7\u1AE8\u1AE9\u1AEA\u1AEB\u{10EFA}\u{10EFB}\u{11B60}\u{11B61}\u{11B62}\u{11B63}\u{11B64}\u{11B65}\u{11B66}\u{11B67}\u{11DE0}\u{11DE1}\u{11DE2}\u{11DE3}\u{11DE4}\u{11DE5}\u{11DE6}\u{11DE7}\u{11DE8}\u{11DE9}\u{1E6E3}\u{1E6E6}\u{1E6EE}\u{1E6EF}\u{1E6F5};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright 2025 Mathias Bynens. All rights reserved.
2+
// This code is governed by the BSD license found in the LICENSE file.
3+
4+
/*---
5+
author: Mathias Bynens
6+
esid: sec-names-and-keywords
7+
description: |
8+
Test that Unicode v17.0.0 ID_Continue characters are accepted as
9+
identifier part characters.
10+
info: |
11+
Generated by https://github.com/mathiasbynens/caniunicode
12+
---*/
13+
14+
var _᫏᫐᫑᫒᫓᫔᫕᫖᫗᫘᫙᫚᫛᫜᫝᫠᫡᫢᫣᫤᫥᫦᫧᫨᫩᫪᫫𐻺𐻻𑭠𑭡𑭢𑭣𑭤𑭥𑭦𑭧𑷠𑷡𑷢𑷣𑷤𑷥𑷦𑷧𑷨𑷩𞛣𞛦𞛮𞛯𞛵;

0 commit comments

Comments
 (0)