v8/test/intl/regress-9312.js
Frank Tang 6e558e9e09 [Intl] Add test cases for %%ALIAS locales
Bug: v8:9312, chromium:968269
Change-Id: I0e3d134cd4341c30277df62fead6386e344be0bf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1636179
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61952}
2019-05-31 21:37:08 +00:00

33 lines
1.1 KiB
JavaScript

// Copyright 2019 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.
// Test the locales in src/third_party/icu/source/data/locales/ which
// has %%ALIAS output the same as what it alias to instead of root.
const aliases = new Map([
['sh', 'sr-Latn'],
['in', 'id'],
['mo', 'ro'],
['iw', 'he'],
['no', 'nb'],
['tl', 'fil'],
['iw-IL', 'he-IL'],
['sr-CS', 'sr-Cyrl-RS'],
]);
const date = new Date();
const number = 123456789.123456789;
for (const [from, to] of aliases) {
const fromDTF = new Intl.DateTimeFormat(from, {month: 'long', weekday: 'long'});
const toDTF = new Intl.DateTimeFormat(to, {month: 'long', weekday: 'long'});
for (let m = 0; m < 12; m++) {
date.setMonth(m);
assertEquals(fromDTF.format(date), toDTF.format(date),
`Expected to see the same output from "${from}" and "${to}".`);
}
const fromNF = new Intl.NumberFormat(from);
const toNF = new Intl.NumberFormat(to);
assertEquals(fromNF.format(number), toNF.format(number),
`Expected to see the same output from "${from}" and "${to}".`);
}