Skip to content

Commit b31bb20

Browse files
author
Fabrice Bellard
committed
updated to unicode 16.0.0 (bnoordhuis) - updated test262
1 parent 29630bc commit b31bb20

File tree

7 files changed

+1869
-1636
lines changed

7 files changed

+1869
-1636
lines changed

TODO

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,6 @@ Optimization ideas:
6262
Test262o: 0/11262 errors, 463 excluded
6363
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
6464

65-
Result: 8/76947 errors, 1497 excluded, 8117 skipped
66-
Test262 commit: 6cbb6da9473c56d95358d8e679c5a6d2b4574efb
65+
Result: 169/76838 errors, 3112 excluded, 7010 skipped
66+
Test262 commit: 56e77d6325067a545ea7e8ff5be5d9284334e33c
67+

libunicode-table.h

Lines changed: 1792 additions & 1619 deletions
Large diffs are not rendered by default.

test262.conf

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ Array.fromAsync=skip
6161
Array.prototype.at
6262
Array.prototype.flat
6363
Array.prototype.flatMap
64-
Array.prototype.flatten
6564
Array.prototype.includes
6665
Array.prototype.values
6766
ArrayBuffer
@@ -70,9 +69,11 @@ arrow-function
7069
async-functions
7170
async-iteration
7271
Atomics
72+
Atomics.pause=skip
7373
Atomics.waitAsync=skip
7474
BigInt
7575
caller
76+
canonical-tz=skip
7677
change-array-by-copy
7778
class
7879
class-fields-private
@@ -83,7 +84,6 @@ class-static-block
8384
class-static-fields-private
8485
class-static-fields-public
8586
class-static-methods-private
86-
cleanupSome=skip
8787
coalesce-expression
8888
computed-property-names
8989
const
@@ -103,11 +103,12 @@ destructuring-assignment
103103
destructuring-binding
104104
dynamic-import
105105
error-cause
106+
Error.isError=skip
107+
explicit-resource-management=skip
106108
exponentiation
107109
export-star-as-namespace-from-module
108-
FinalizationGroup=skip
109-
FinalizationRegistry.prototype.cleanupSome=skip
110110
FinalizationRegistry=skip
111+
Float16Array=skip
111112
Float32Array
112113
Float64Array
113114
for-in-order
@@ -118,19 +119,39 @@ hashbang
118119
host-gc-required=skip
119120
import-assertions=skip
120121
import-attributes=skip
122+
import-defer=skip
121123
import.meta
122124
Int16Array
123125
Int32Array
124126
Int8Array
127+
Intl-enumeration=skip
128+
intl-normative-optional=skip
129+
Intl.DateTimeFormat-datetimestyle=skip
130+
Intl.DateTimeFormat-dayPeriod=skip
131+
Intl.DateTimeFormat-extend-timezonename=skip
132+
Intl.DateTimeFormat-formatRange=skip
133+
Intl.DateTimeFormat-fractionalSecondDigits=skip
134+
Intl.DisplayNames-v2=skip
135+
Intl.DisplayNames=skip
136+
Intl.DurationFormat=skip
137+
Intl.ListFormat=skip
138+
Intl.Locale-info=skip
139+
Intl.Locale=skip
140+
Intl.NumberFormat-unified=skip
141+
Intl.NumberFormat-v3=skip
142+
Intl.RelativeTimeFormat=skip
143+
Intl.Segmenter=skip
125144
IsHTMLDDA
126145
iterator-helpers=skip
146+
iterator-sequencing=skip
127147
json-modules=skip
128148
json-parse-with-source=skip
129149
json-superset
130150
legacy-regexp=skip
131151
let
132152
logical-assignment-operators
133153
Map
154+
Math.sumPrecise=skip
134155
new.target
135156
numeric-separator-literal
136157
object-rest
@@ -141,6 +162,7 @@ Object.is
141162
optional-catch-binding
142163
optional-chaining
143164
Promise
165+
promise-try=skip
144166
promise-with-resolvers
145167
Promise.allSettled
146168
Promise.any
@@ -155,15 +177,19 @@ regexp-dotall
155177
regexp-duplicate-named-groups=skip
156178
regexp-lookbehind
157179
regexp-match-indices
180+
regexp-modifiers=skip
158181
regexp-named-groups
159182
regexp-unicode-property-escapes
160183
regexp-v-flag=skip
184+
RegExp.escape=skip
161185
resizable-arraybuffer=skip
162186
rest-parameters
163187
Set
164188
set-methods=skip
165189
ShadowRealm=skip
166190
SharedArrayBuffer
191+
source-phase-imports-module-source=skip
192+
source-phase-imports=skip
167193
string-trimming
168194
String.fromCodePoint
169195
String.prototype.at
@@ -202,6 +228,7 @@ u180e
202228
Uint16Array
203229
Uint32Array
204230
Uint8Array
231+
uint8array-base64=skip
205232
Uint8ClampedArray
206233
WeakMap
207234
WeakRef=skip
@@ -223,5 +250,8 @@ test262/test/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
223250
#test262/test/built-ins/RegExp/CharacterClassEscapes/
224251
#test262/test/built-ins/RegExp/property-escapes/
225252

253+
# frequently broken, sometimes contain engine-dependent tests
254+
test262/test/staging/
255+
226256
[tests]
227257
# list test files or use config.testdir

tests/test262.patch

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ index 9828b15..4a5919d 100644
2222

2323
/**
2424
diff --git a/harness/regExpUtils.js b/harness/regExpUtils.js
25-
index b55f3c6..396bad4 100644
25+
index b397be0..c197ddc 100644
2626
--- a/harness/regExpUtils.js
2727
+++ b/harness/regExpUtils.js
2828
@@ -6,27 +6,30 @@ description: |
@@ -51,21 +51,20 @@ index b55f3c6..396bad4 100644
5151
const loneCodePoints = args.loneCodePoints;
5252
const ranges = args.ranges;
5353
- const CHUNK_SIZE = 10000;
54-
- let result = Reflect.apply(String.fromCodePoint, null, loneCodePoints);
54+
let result = String.fromCodePoint.apply(null, loneCodePoints);
5555
- for (let i = 0; i < ranges.length; i++) {
56-
- const range = ranges[i];
57-
- const start = range[0];
58-
- const end = range[1];
59-
- const codePoints = [];
56+
- let range = ranges[i];
57+
- let start = range[0];
58+
- let end = range[1];
59+
- let codePoints = [];
6060
- for (let length = 0, codePoint = start; codePoint <= end; codePoint++) {
6161
- codePoints[length++] = codePoint;
6262
- if (length === CHUNK_SIZE) {
63-
- result += Reflect.apply(String.fromCodePoint, null, codePoints);
63+
- result += String.fromCodePoint.apply(null, codePoints);
6464
- codePoints.length = length = 0;
6565
- }
6666
- }
67-
- result += Reflect.apply(String.fromCodePoint, null, codePoints);
68-
+ let result = String.fromCodePoint.apply(null, loneCodePoints);
67+
- result += String.fromCodePoint.apply(null, codePoints);
6968
+ for (const [start, end] of ranges) {
7069
+ result += codePointRange(start, end + 1);
7170
}

unicode_download.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
set -e
33

4-
url="ftp://ftp.unicode.org/Public/15.0.0/ucd"
4+
url="ftp://ftp.unicode.org/Public/16.0.0/ucd"
55
emoji_url="${url}/emoji/emoji-data.txt"
66

77
files="CaseFolding.txt DerivedNormalizationProps.txt PropList.txt \

unicode_gen.c

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ void parse_derived_core_properties(const char *filename)
625625
p++;
626626
p += strspn(p, " \t");
627627
q = buf;
628-
while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t') {
628+
while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t' && *p != ';') {
629629
if ((q - buf) < sizeof(buf) - 1)
630630
*q++ = *p;
631631
p++;
@@ -1117,6 +1117,24 @@ void find_run_type(TableEntry *te, CCInfo *tab, int code)
11171117
te->ext_data[1] = ci->u_data[1];
11181118
te->ext_data[2] = ci->u_data[2];
11191119
te->ext_len = 3;
1120+
} else if (ci->u_len == 2 && ci->l_len == 0 && ci->f_len == 1) {
1121+
// U+FB05 LATIN SMALL LIGATURE LONG S T
1122+
assert(code == 0xFB05);
1123+
te->len = 1;
1124+
te->type = RUN_TYPE_UF_EXT2;
1125+
te->ext_data[0] = ci->u_data[0];
1126+
te->ext_data[1] = ci->u_data[1];
1127+
te->ext_len = 2;
1128+
} else if (ci->u_len == 3 && ci->l_len == 0 && ci->f_len == 1) {
1129+
// U+1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA or
1130+
// U+1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
1131+
assert(code == 0x1FD3 || code == 0x1FE3);
1132+
te->len = 1;
1133+
te->type = RUN_TYPE_UF_EXT3;
1134+
te->ext_data[0] = ci->u_data[0];
1135+
te->ext_data[1] = ci->u_data[1];
1136+
te->ext_data[2] = ci->u_data[2];
1137+
te->ext_len = 3;
11201138
} else {
11211139
printf("unsupported encoding case:\n");
11221140
dump_cc_info(ci, code);

unicode_gen_def.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ DEF(Egyptian_Hieroglyphs, "Egyp")
8282
DEF(Elbasan, "Elba")
8383
DEF(Elymaic, "Elym")
8484
DEF(Ethiopic, "Ethi")
85+
DEF(Garay, "Gara")
8586
DEF(Georgian, "Geor")
8687
DEF(Glagolitic, "Glag")
8788
DEF(Gothic, "Goth")
@@ -90,6 +91,7 @@ DEF(Greek, "Grek")
9091
DEF(Gujarati, "Gujr")
9192
DEF(Gunjala_Gondi, "Gong")
9293
DEF(Gurmukhi, "Guru")
94+
DEF(Gurung_Khema, "Gukh")
9395
DEF(Han, "Hani")
9496
DEF(Hangul, "Hang")
9597
DEF(Hanifi_Rohingya, "Rohg")
@@ -112,6 +114,7 @@ DEF(Khmer, "Khmr")
112114
DEF(Khojki, "Khoj")
113115
DEF(Khitan_Small_Script, "Kits")
114116
DEF(Khudawadi, "Sind")
117+
DEF(Kirat_Rai, "Krai")
115118
DEF(Lao, "Laoo")
116119
DEF(Latin, "Latn")
117120
DEF(Lepcha, "Lepc")
@@ -149,6 +152,7 @@ DEF(Nushu, "Nshu")
149152
DEF(Nyiakeng_Puachue_Hmong, "Hmnp")
150153
DEF(Ogham, "Ogam")
151154
DEF(Ol_Chiki, "Olck")
155+
DEF(Ol_Onal, "Onao")
152156
DEF(Old_Hungarian, "Hung")
153157
DEF(Old_Italic, "Ital")
154158
DEF(Old_North_Arabian, "Narb")
@@ -180,6 +184,7 @@ DEF(Sogdian, "Sogd")
180184
DEF(Sora_Sompeng, "Sora")
181185
DEF(Soyombo, "Soyo")
182186
DEF(Sundanese, "Sund")
187+
DEF(Sunuwar, "Sunu")
183188
DEF(Syloti_Nagri, "Sylo")
184189
DEF(Syriac, "Syrc")
185190
DEF(Tagalog, "Tglg")
@@ -197,7 +202,9 @@ DEF(Tibetan, "Tibt")
197202
DEF(Tifinagh, "Tfng")
198203
DEF(Tirhuta, "Tirh")
199204
DEF(Tangsa, "Tnsa")
205+
DEF(Todhri, "Todr")
200206
DEF(Toto, "Toto")
207+
DEF(Tulu_Tigalari, "Tutg")
201208
DEF(Ugaritic, "Ugar")
202209
DEF(Vai, "Vaii")
203210
DEF(Vithkuqi, "Vith")
@@ -236,11 +243,13 @@ DEF(Deprecated, "Dep")
236243
DEF(Diacritic, "Dia")
237244
DEF(Extender, "Ext")
238245
DEF(Hex_Digit, "Hex")
246+
DEF(IDS_Unary_Operator, "IDSU")
239247
DEF(IDS_Binary_Operator, "IDSB")
240248
DEF(IDS_Trinary_Operator, "IDST")
241249
DEF(Ideographic, "Ideo")
242250
DEF(Join_Control, "Join_C")
243251
DEF(Logical_Order_Exception, "LOE")
252+
DEF(Modifier_Combining_Mark, "MCM")
244253
DEF(Noncharacter_Code_Point, "NChar")
245254
DEF(Pattern_Syntax, "Pat_Syn")
246255
DEF(Pattern_White_Space, "Pat_WS")
@@ -279,6 +288,9 @@ DEF(Changes_When_Uppercased, "CWU")
279288
DEF(Grapheme_Base, "Gr_Base")
280289
DEF(Grapheme_Extend, "Gr_Ext")
281290
DEF(ID_Continue, "IDC")
291+
DEF(ID_Compat_Math_Start, "")
292+
DEF(ID_Compat_Math_Continue, "")
293+
DEF(InCB, "")
282294
DEF(Lowercase, "Lower")
283295
DEF(Math, "")
284296
DEF(Uppercase, "Upper")

0 commit comments

Comments
 (0)