Upload Kmake

This commit is contained in:
Gorochu
2026-05-26 23:36:42 -07:00
parent ba051b2f74
commit 555ec72358
41615 changed files with 13344630 additions and 1 deletions

View File

@ -0,0 +1,39 @@
// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony_intl_best_fit_matcher
//
// Test the supportedLocales and resolvedOptions handle "zh-TW", "zh-Hant-TW",
// etc.
const intlObjs = [
Intl.Collator,
Intl.DateTimeFormat,
Intl.DisplayNames,
Intl.ListFormat,
Intl.NumberFormat,
Intl.PluralRules,
Intl.RelativeTimeFormat,
Intl.Segmenter,
];
let bestFitOpt = {localeMatcher: "best fit"};
let defaultLocale = (new Intl.NumberFormat()).resolvedOptions().locale;
intlObjs.forEach(function(obj) {
[{}, bestFitOpt].forEach(function(opt) {
// Test consistent between "zh-TW" and "zh-Hant-TW". Either both are
// supported or neither are supported.
assertEquals((obj.supportedLocalesOf(["zh-TW"], opt)).length,
(obj.supportedLocalesOf(["zh-Hant-TW"], opt)).length);
assertEquals((obj.supportedLocalesOf(["zh-MO"], opt)).length,
(obj.supportedLocalesOf(["zh-Hant-MO"], opt)).length);
assertEquals((obj.supportedLocalesOf(["zh-HK"], opt)).length,
(obj.supportedLocalesOf(["zh-Hant-HK"], opt)).length);
assertEquals((obj.supportedLocalesOf(["zh-CN"], opt)).length,
(obj.supportedLocalesOf(["zh-Hans-CN"], opt)).length);
assertEquals((obj.supportedLocalesOf(["zh-SG"], opt)).length,
(obj.supportedLocalesOf(["zh-Hans-SG"], opt)).length);
});
});

View File

@ -0,0 +1,56 @@
// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony_intl_best_fit_matcher
//
// Test the supportedLocales and resolvedOptions handle macrolanguages
// documented in https://unicode.org/reports/tr35/#Field_Definitions
const intlObjs = [
Intl.Collator,
Intl.DateTimeFormat,
Intl.DisplayNames,
Intl.ListFormat,
Intl.NumberFormat,
Intl.PluralRules,
Intl.RelativeTimeFormat,
Intl.Segmenter,
];
// Macrolanguages in
// https://unicode.org/reports/tr35/#Field_Definitionsk
const macroLanguageMap = {
'cmn': 'zh',
'arb': 'ar',
'zsm': 'ms',
'swh': 'sw',
'uzn': 'uz',
// 'knn': 'kok', // chrome does not ship data for kok locale
'kmr': 'ku',
};
let bestFitOpt = {localeMatcher: "best fit"};
let defaultLocale = (new Intl.NumberFormat()).resolvedOptions().locale;
intlObjs.forEach(function(obj) {
for (const [macro, lang] of Object.entries(macroLanguageMap)) {
const justMacro = [macro];
// Test the macro language will be persist in the supportedLocalesOf
assertEquals([lang], obj.supportedLocalesOf(justMacro));
assertEquals([lang], obj.supportedLocalesOf(justMacro, bestFitOpt));
// Test the macro language would be resolved to a locale other than the
// default locale.
if (obj == Intl.DisplayNames) {
assertTrue(defaultLocale != (new obj(macro, {type: "language"}))
.resolvedOptions().locale);
assertTrue(defaultLocale !=
(new obj(macro, {type: "language", localeMatcher: "best fit"}))
.resolvedOptions().locale);
} else {
assertTrue(defaultLocale != (new obj(macro)).resolvedOptions().locale);
assertTrue(defaultLocale != (new obj(macro, bestFitOpt))
.resolvedOptions().locale);
}
}
});

View File

@ -0,0 +1,46 @@
// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony_intl_best_fit_matcher
//
// Test the supportedLocales and resolvedOptions based on
// https://github.com/unicode-org/cldr/blob/master/common/supplemental/languageInfo.xml
const intlObjs = [
Intl.Collator,
Intl.DateTimeFormat,
Intl.DisplayNames,
Intl.ListFormat,
Intl.NumberFormat,
Intl.RelativeTimeFormat,
Intl.PluralRules,
Intl.Segmenter,
];
function verifyResolvedLocale(obj, opt, l1, l2) {
let options = {}
options = Object.assign(options, opt);
if (obj == Intl.DisplayNames) {
options['type'] = "language";
}
let resolvedLocale = (new obj(l1, options)).resolvedOptions().locale;
assertTrue((l1 == resolvedLocale) ||
(l2 == resolvedLocale.substring(0, l2.length)));
}
let bestFitOpt = {localeMatcher: "best fit"};
let defaultLocale = (new Intl.NumberFormat()).resolvedOptions().locale;
intlObjs.forEach(function(obj) {
[{}, bestFitOpt].forEach(function(opt) {
print(obj);
verifyResolvedLocale(obj, opt, "co", "fr");
verifyResolvedLocale(obj, opt, "crs", "fr");
verifyResolvedLocale(obj, opt, "lb", "de");
verifyResolvedLocale(obj, opt, "gsw", "de");
verifyResolvedLocale(obj, opt, "btj", "ms");
verifyResolvedLocale(obj, opt, "bjn", "ms");
});
});

View File

@ -0,0 +1,38 @@
// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony_intl_best_fit_matcher
//
// Test the return list is subset of the request list.
// https://tc39.es/ecma402/#sec-bestfitsupportedlocales
// 9.2.9 BestFitSupportedLocales ( availableLocales, requestedLocales )
// The BestFitSupportedLocales abstract operation returns the SUBSET of the
// provided BCP 47 language priority list requestedLocales for which
// availableLocales has a matching locale when using the Best Fit Matcher
// algorithm. Locales appear in the same order in the returned list as in
// requestedLocales. The steps taken are implementation dependent.
function assertSubarray(a, b) {
assertTrue(a.every(val => b.includes(val)), ['returns:', a, 'requested:', b]);
}
function verifySupportedLocalesAreSubarray(f, ll) {
assertSubarray(f(ll), ll);
}
const intlObjs = [
Intl.Collator,
Intl.DateTimeFormat,
Intl.DisplayNames,
Intl.ListFormat,
Intl.NumberFormat,
Intl.PluralRules,
Intl.RelativeTimeFormat,
Intl.Segmenter,
];
intlObjs.forEach(function(obj) {
verifySupportedLocalesAreSubarray(obj.supportedLocalesOf, ['en', 'ceb']);
verifySupportedLocalesAreSubarray(obj.supportedLocalesOf, ['en', 'ceb', 'fil']);
});