@prezly/theme-kit-core
Version:
Data layer and utility library for developing Prezly themes with JavaScript
46 lines (45 loc) • 2.72 kB
JavaScript
;
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('العربية');
});
});
});