Fix jest failing

This commit is contained in:
MattIPv4 2020-12-23 20:05:09 +00:00
parent 392631fc79
commit 136c31037f
3 changed files with 13 additions and 14 deletions
src/nginxconfig
test

View File

@ -231,7 +231,7 @@ THE SOFTWARE.
// Apply browser language if not specified in query
if (!imported || !imported.global || !imported.global.app || !imported.global.app.lang) {
const language = browserLanguage();
const language = browserLanguage(availablePacks);
if (language) this.lang = language;
}

View File

@ -24,10 +24,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
import { availablePacks } from './language_pack_context';
import { fromSep } from './language_pack_name';
export default () => {
export default availablePacks => {
if (typeof window === 'object' && typeof window.navigator === 'object') {
const userLocales = new Set();

View File

@ -46,7 +46,6 @@ class MockLocales {
}
static setDateTimeLocale(locale) {
const newDateTimeFormat = new Intl.DateTimeFormat(locale);
MockLocales.IntlBackup = Intl;
if (!locale) {
// eslint-disable-next-line no-global-assign
@ -54,6 +53,7 @@ class MockLocales {
return this;
}
const newDateTimeFormat = new Intl.DateTimeFormat(locale);
// eslint-disable-next-line no-global-assign
Intl = {
DateTimeFormat() {
@ -97,13 +97,13 @@ describe('browserLanguage', () => {
MockLocales.setDateTimeLocale(undefined);
MockLocales.setNavigatorLanguages(['zh-CN', 'zh','en-US','en']);
expect(browserLanguage()).toEqual('zhCN');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('zhCN');
MockLocales.setNavigatorLanguages(['zh-TW','zh','en-US','en']);
expect(browserLanguage()).toEqual('zhTW');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('zhTW');
MockLocales.setNavigatorLanguages(['zh', 'en-US', 'en']);
expect(browserLanguage()).toEqual('en');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('en');
MockLocales.restoreDateTimeLocale();
});
@ -112,7 +112,7 @@ describe('browserLanguage', () => {
MockLocales.setDateTimeLocale(undefined);
MockLocales.setNavigatorLanguages(['ja-JP', 'ja', 'en-US']);
expect(browserLanguage()).toEqual('en');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('en');
MockLocales.restoreDateTimeLocale();
});
@ -121,7 +121,7 @@ describe('browserLanguage', () => {
MockLocales.setDateTimeLocale(undefined);
MockLocales.setNavigatorLanguages(['ja-JP', 'ja', 'zh']);
expect(browserLanguage()).toEqual('zhCN');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('zhCN');
MockLocales.restoreDateTimeLocale();
});
@ -130,7 +130,7 @@ describe('browserLanguage', () => {
MockLocales.setDateTimeLocale(undefined);
MockLocales.setNavigatorLanguages(['ja-JP','ja']);
expect(browserLanguage()).toBeFalsy();
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toBeFalsy();
MockLocales.restoreDateTimeLocale();
});
@ -140,7 +140,7 @@ describe('browserLanguage', () => {
MockLocales.setNavigatorLanguages(undefined);
MockLocales.setNavigatorLanguage(undefined);
MockLocales.setDateTimeLocale(undefined);
expect(browserLanguage()).toBeFalsy();
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toBeFalsy();
MockLocales.restoreDateTimeLocale();
});
@ -148,7 +148,7 @@ describe('browserLanguage', () => {
MockLocales.setNavigatorLanguage('en');
MockLocales.setNavigatorLanguages(undefined);
MockLocales.setDateTimeLocale(undefined);
expect(browserLanguage()).toEqual('en');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('en');
MockLocales.restoreDateTimeLocale();
});
@ -156,14 +156,14 @@ describe('browserLanguage', () => {
MockLocales.setNavigatorLanguage(undefined);
MockLocales.setNavigatorLanguages(['en-US','en']);
MockLocales.setDateTimeLocale(undefined);
expect(browserLanguage()).toEqual('en');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('en');
MockLocales.restoreDateTimeLocale();
});
test('navigator is `undefined` and Intl locale is `en-US`',() => {
MockLocales.setNavigator(undefined);
MockLocales.setDateTimeLocale('en-US');
expect(browserLanguage()).toEqual('en');
expect(browserLanguage(['en', 'zhCN', 'zhTW'])).toEqual('en');
MockLocales.restoreDateTimeLocale();
MockLocales.restoreNavigator();
});