2019-01-06 02:03:19 +00:00
|
|
|
// Copyright 2018 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.
|
|
|
|
|
|
|
|
let invalid_co = [
|
|
|
|
"invalid",
|
|
|
|
"search",
|
|
|
|
"standard",
|
|
|
|
"abce",
|
|
|
|
];
|
|
|
|
|
|
|
|
let valid_locales = [
|
|
|
|
"zh-u-co-zhuyin",
|
|
|
|
"zh-u-co-stroke",
|
|
|
|
"ar-u-co-compat",
|
|
|
|
"en-u-co-emoji",
|
|
|
|
"en-u-co-eor",
|
|
|
|
"zh-Hant-u-co-pinyin",
|
|
|
|
"ko-u-co-searchjl",
|
|
|
|
"ja-u-co-unihan",
|
|
|
|
];
|
|
|
|
|
2020-07-20 21:51:56 +00:00
|
|
|
let valid_co = [
|
|
|
|
["zh", "zhuyin"],
|
|
|
|
["zh", "stroke"],
|
|
|
|
["ar", "compat"],
|
|
|
|
["en", "emoji"],
|
|
|
|
["en", "eor"],
|
|
|
|
["zh-Hant", "pinyin"],
|
|
|
|
["ko", "searchjl"],
|
|
|
|
["ja", "unihan"],
|
|
|
|
];
|
|
|
|
|
2019-01-06 02:03:19 +00:00
|
|
|
invalid_co.forEach(function(co) {
|
|
|
|
let col = new Intl.Collator(["en-u-co-" + co]);
|
|
|
|
assertEquals("en", col.resolvedOptions().locale);
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
valid_locales.forEach(function(l) {
|
|
|
|
let col = new Intl.Collator([l + "-fo-obar"]);
|
|
|
|
assertEquals(l, col.resolvedOptions().locale);
|
|
|
|
}
|
|
|
|
);
|
2020-07-20 21:51:56 +00:00
|
|
|
|
|
|
|
valid_co.forEach(function([locale, collation]) {
|
|
|
|
let col = new Intl.Collator([locale + "-u-co-" + collation]);
|
|
|
|
assertEquals(collation, col.resolvedOptions().collation);
|
|
|
|
let col2 = new Intl.Collator([locale], {collation});
|
|
|
|
assertEquals(collation, col2.resolvedOptions().collation);
|
|
|
|
}
|
|
|
|
);
|