Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/i18n / init.spec.js
Size: Mime:
"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