52 lines
977 B
JavaScript
52 lines
977 B
JavaScript
|
// 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_ca = [
|
||
|
"invalid",
|
||
|
"abce",
|
||
|
];
|
||
|
|
||
|
// https://www.unicode.org/repos/cldr/tags/latest/common/bcp47/calendar.xml
|
||
|
let valid_ca= [
|
||
|
"buddhist",
|
||
|
"chinese",
|
||
|
"coptic",
|
||
|
"dangi",
|
||
|
"ethioaa",
|
||
|
"ethiopic",
|
||
|
"gregory",
|
||
|
"hebrew",
|
||
|
"indian",
|
||
|
"islamic",
|
||
|
"islamic-umalqura",
|
||
|
"islamic-tbla",
|
||
|
"islamic-civil",
|
||
|
"islamic-rgsa",
|
||
|
"iso8601",
|
||
|
"japanese",
|
||
|
"persian",
|
||
|
"roc",
|
||
|
];
|
||
|
|
||
|
let locales = [
|
||
|
"en",
|
||
|
"ar",
|
||
|
];
|
||
|
|
||
|
invalid_ca.forEach(function(ca) {
|
||
|
let df = new Intl.DateTimeFormat(["en-u-ca-" + ca + "-fo-obar"]);
|
||
|
assertEquals("en", df.resolvedOptions().locale);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
valid_ca.forEach(function(ca) {
|
||
|
locales.forEach(function(base) {
|
||
|
let l = base + "-u-ca-" + ca;
|
||
|
let df = new Intl.DateTimeFormat([l + "-fo-obar"]);
|
||
|
assertEquals(l, df.resolvedOptions().locale);
|
||
|
});
|
||
|
}
|
||
|
);
|