40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
|
// 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);
|
||
|
});
|
||
|
|
||
|
});
|