| // 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); |
| }); |
| }); |
| }); |