be123e4057
Make locales and options required and no default for type in options. Bug: v8:10623 Change-Id: I5df065a95e82ecb3b8b036d1b4738f296aa7243f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2291617 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#68854}
40 lines
1.5 KiB
JavaScript
40 lines
1.5 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.
|
|
|
|
let displayNames = new Intl.DisplayNames(undefined, {type: 'language'});
|
|
// The default style is 'long'
|
|
assertEquals('long', displayNames.resolvedOptions().style);
|
|
|
|
assertEquals('language', displayNames.resolvedOptions().type);
|
|
|
|
// The default fallback is 'code'
|
|
assertEquals('code', displayNames.resolvedOptions().fallback);
|
|
|
|
const styles = ["long", "short", "narrow"];
|
|
const types = ["language", "region", "script", "currency"];
|
|
const fallbacks = ["code", "none"];
|
|
|
|
styles.forEach(function(style) {
|
|
types.forEach(function(type) {
|
|
assertEquals(style,
|
|
(new Intl.DisplayNames(['sr'], {style, type})).resolvedOptions().style);
|
|
assertEquals(type,
|
|
(new Intl.DisplayNames(['sr'], {style, type})).resolvedOptions().type);
|
|
assertEquals(fallbacks[0],
|
|
(new Intl.DisplayNames(
|
|
['sr'], {style, type})).resolvedOptions().fallback);
|
|
fallbacks.forEach(function(fallback) {
|
|
assertEquals(style,
|
|
(new Intl.DisplayNames(
|
|
['sr'], {style, type, fallback})).resolvedOptions().style);
|
|
assertEquals(type,
|
|
(new Intl.DisplayNames(
|
|
['sr'], {style, type, fallback})).resolvedOptions().type);
|
|
assertEquals(fallback,
|
|
(new Intl.DisplayNames(
|
|
['sr'], {style, type, fallback})).resolvedOptions().fallback);
|
|
});
|
|
});
|
|
});
|