Repository URL to install this package:
|
Version:
6.1.0 ▾
|
@doodle/i18n
/
init.spec.js
|
|---|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _init = require("./init");
var _utils = require("./utils");
var _cookie = _interopRequireDefault(require("./cookie"));
jest.mock('./cookie');
describe('I18n Initialisation', function () {
test('getNavigatorLocale', function () {
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
var navigatorLocale = (0, _utils.getNavigatorLocale)();
expect(navigatorLocale).toEqual('fr-FR');
});
test('normalizeLocale', function () {
expect((0, _utils.normalizeLocale)('fr_FR')).toEqual('fr-FR');
});
test('getLanguageCodeFromLocale', function () {
expect((0, _utils.getLanguageCodeFromLocale)('fr-FR')).toEqual('fr');
});
test('getLocale defaults to `en`', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var supportedLocales, locale;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
supportedLocales = ['en', 'de'];
_context.next = 3;
return (0, _init.getLocale)(supportedLocales);
case 3:
locale = _context.sent;
expect(locale).toEqual('en');
case 5:
case "end":
return _context.stop();
}
}
}, _callee);
})));
test('getLocale uses the cookie locale first', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
var supportedLocales, locale;
return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_cookie.default.get.mockReturnValue('de');
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
supportedLocales = ['en', 'de'];
_context2.next = 5;
return (0, _init.getLocale)(supportedLocales);
case 5:
locale = _context2.sent;
expect(locale).toEqual('de');
case 7:
case "end":
return _context2.stop();
}
}
}, _callee2);
})));
test('getLocale uses the navigator locale if there is no cookie', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
var supportedLocales, locale;
return _regenerator.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
jest.resetAllMocks();
Object.defineProperty(window.navigator, 'language', {
value: 'fr-FR',
configurable: true
});
supportedLocales = ['en', 'de', 'fr'];
_context3.next = 5;
return (0, _init.getLocale)(supportedLocales);
case 5:
locale = _context3.sent;
expect(locale).toEqual('fr');
case 7:
case "end":
return _context3.stop();
}
}
}, _callee3);
})));
test('getLocale uses a supported language if there is no cookie', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
var supportedLocales, locale;
return _regenerator.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
jest.resetAllMocks();
Object.defineProperty(window.navigator, 'language', {
value: 'de',
configurable: true
});
supportedLocales = ['en', 'de', 'fr'];
_context4.next = 5;
return (0, _init.getLocale)(supportedLocales);
case 5:
locale = _context4.sent;
expect(locale).toEqual('de');
case 7:
case "end":
return _context4.stop();
}
}
}, _callee4);
})));
});
//# sourceMappingURL=init.spec.js.map