From c6da86cb61df8e4620d3ec05a712c493dfb3776d Mon Sep 17 00:00:00 2001 From: Mirco Bertelli Date: Mon, 24 Aug 2015 15:13:47 +0200 Subject: [PATCH] Test coverage improving Little edit for I18NStore initialization to make possible test the delault locale value. --- web/client/stores/I18NStore.jsx | 27 +++++++++++-------- .../stores/__tests__/I18NStore-test.jsx | 6 +++++ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/web/client/stores/I18NStore.jsx b/web/client/stores/I18NStore.jsx index 843618769c..0c0b364923 100644 --- a/web/client/stores/I18NStore.jsx +++ b/web/client/stores/I18NStore.jsx @@ -24,16 +24,12 @@ const AvailableLang = { "Italiano": "it-IT" }; -const _getDefaultLang = () => { - var lang; - if (navigator) { - lang = navigator.language || navigator.browserLanguage; - } - if (lang) { +const _getDefaultLang = locale => { + if (locale) { for (let l in AvailableLang) { if (AvailableLang.hasOwnProperty(l)) { - if (lang === AvailableLang[l]) { - return lang; + if (locale === AvailableLang[l]) { + return locale; } } } @@ -41,9 +37,15 @@ const _getDefaultLang = () => { return "en-US"; }; -var _i18nStore = { - locales: AvailableLang, - data: StaticLangStore[_getDefaultLang()] +var _i18nStore; + +const _initStore = () => { + var l = navigator ? navigator.language || navigator.browserLanguage : "en-US"; + + _i18nStore = { + locales: AvailableLang, + data: StaticLangStore[_getDefaultLang(l)] + }; }; var I18NStore = assign({}, EventEmitter.prototype, { @@ -91,6 +93,8 @@ const _actionsManager = action => { } }; +_initStore(); + Dispatcher.register(_actionsManager); module.exports = I18NStore; @@ -105,3 +109,4 @@ const _setMockedData = obj => { _i18nStore = obj; }; module.exports._set_mocked_data = _setMockedData; +module.exports._get_default_language = _getDefaultLang; diff --git a/web/client/stores/__tests__/I18NStore-test.jsx b/web/client/stores/__tests__/I18NStore-test.jsx index 157b878246..2479dcd2e5 100644 --- a/web/client/stores/__tests__/I18NStore-test.jsx +++ b/web/client/stores/__tests__/I18NStore-test.jsx @@ -21,6 +21,12 @@ describe('This test for I18NStore', () => { setTimeout(done); }); + it('checks _getDefaultLang()', () => { + expect(I18NStore._get_default_language()).toEqual("en-US"); + expect(I18NStore._get_default_language("it-IT")).toEqual("it-IT"); + expect(I18NStore._get_default_language("something")).toEqual("en-US"); + }); + it('checks getCurrentLocale()', () => { const mockStoreData = { data: {