Repository URL to install this package:
|
Version:
5.0.0-rc.13 ▾
|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _init = require("./init");
var _utils = require("./utils");
var _cookie = _interopRequireDefault(require("./cookie"));
jest.mock('./cookie');
describe('I18n Initialisation', () => {
test('getNavigatorLocale', () => {
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
const navigatorLocale = (0, _utils.getNavigatorLocale)();
expect(navigatorLocale).toEqual('fr-FR');
});
test('normalizeLocale', () => {
expect((0, _utils.normalizeLocale)('fr_FR')).toEqual('fr-FR');
});
test('getLanguageCodeFromLocale', () => {
expect((0, _utils.getLanguageCodeFromLocale)('fr-FR')).toEqual('fr');
});
test('getLocale defaults to `en`', async () => {
const supportedLocales = ['en', 'de'];
const locale = await (0, _init.getLocale)(supportedLocales);
expect(locale).toEqual('en');
});
test('getLocale uses the cookie locale first', async () => {
_cookie.default.get.mockReturnValue('de');
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
const supportedLocales = ['en', 'de'];
const locale = await (0, _init.getLocale)(supportedLocales);
expect(locale).toEqual('de');
});
test('getLocale uses the navigator locale if there is no cookie', async () => {
jest.resetAllMocks();
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
const supportedLocales = ['en', 'de', 'fr'];
const locale = await (0, _init.getLocale)(supportedLocales);
expect(locale).toEqual('fr');
});
test('getLocale uses a supported language if there is no cookie', async () => {
jest.resetAllMocks();
Object.defineProperty(window.navigator, 'language', {
value: 'en_GB',
configurable: true
});
const supportedLocales = ['en', 'en-GB', 'fr'];
const locale = await (0, _init.getLocale)(supportedLocales);
expect(locale).toEqual('en-GB');
});
});
//# sourceMappingURL=init.spec.js.map