2019-11-18 18:55:57 +00:00
|
|
|
// 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.
|
|
|
|
|
2020-07-14 08:06:23 +00:00
|
|
|
let displayNames = new Intl.DisplayNames(undefined, {type: 'language'});
|
2019-11-18 18:55:57 +00:00
|
|
|
// 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"];
|
2019-12-19 00:17:17 +00:00
|
|
|
const types = ["language", "region", "script", "currency"];
|
2019-11-18 18:55:57 +00:00
|
|
|
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);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|