[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}
This commit is contained in:
Frank Tang 2019-05-31 10:31:46 -07:00 committed by Commit Bot
parent 8f2f9797d9
commit 6e558e9e09
2 changed files with 35 additions and 0 deletions

View File

@ -34,6 +34,9 @@
'collator/check-kf-option': [FAIL],
'collator/check-kn-option': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=9312
'regress-9312': [FAIL],
# Slow tests.
'regress-903566': [PASS, SLOW],
}], # ALWAYS

32
test/intl/regress-9312.js Normal file
View File

@ -0,0 +1,32 @@
// 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}".`);
}