UNPKG

@prezly/theme-kit-core

Version:

Data layer and utility library for developing Prezly themes with JavaScript

46 lines (45 loc) 2.72 kB
"use strict"; var _languages = require("../__mocks__/languages.cjs"); var _getLanguageDisplayName = require("./getLanguageDisplayName.cjs"); describe('getLanguageDisplayName', () => { describe('with languages as input', () => { it('should return shortened name when language is the only culture', () => { var languages = [_languages.LANGUAGES.en, _languages.LANGUAGES.fr]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.en, languages)).toBe('English'); expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.fr, languages)).toBe('Français'); }); it('should return full name when language is NOT the only culture', () => { var languages = [_languages.LANGUAGES.nl_BE, _languages.LANGUAGES.nl_NL]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.nl_BE, languages)).toBe('Nederlands (België)'); expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.nl_NL, languages)).toBe('Nederlands (Nederland)'); }); it('should properly cut region from an RTL language name', () => { var languages = [{ locale: { code: 'ar_AE', native_name: 'العربية (الإمارات العربية المتحدة)' } }]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(languages[0], languages)).toBe('العربية'); }); }); describe('with locales as input', () => { it('should return shortened name when language is the only culture', () => { var locales = [_languages.LANGUAGES.en.locale, _languages.LANGUAGES.fr.locale]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.en.locale, locales)).toBe('English'); expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.fr.locale, locales)).toBe('Français'); }); it('should return full name when language is NOT the only culture', () => { var locales = [_languages.LANGUAGES.nl_BE.locale, _languages.LANGUAGES.nl_NL.locale]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.nl_BE.locale, locales)).toBe('Nederlands (België)'); expect((0, _getLanguageDisplayName.getLanguageDisplayName)(_languages.LANGUAGES.nl_NL.locale, locales)).toBe('Nederlands (Nederland)'); }); it('should properly cut region from an RTL language name', () => { var locales = [{ code: 'ar_AE', native_name: 'العربية (الإمارات العربية المتحدة)' }]; expect((0, _getLanguageDisplayName.getLanguageDisplayName)(locales[0], locales)).toBe('العربية'); }); }); });