Fix some file fallback retrieval for some langs. Added tests
This commit is contained in:
parent
1df41f1e5a
commit
1cf2a6883a
3 changed files with 49 additions and 2 deletions
|
|
@ -3,13 +3,14 @@ import fs from 'fs';
|
||||||
const as = f => `assets/app/${f}`;
|
const as = f => `assets/app/${f}`;
|
||||||
|
|
||||||
export const getFallbackLang = (lang) => {
|
export const getFallbackLang = (lang) => {
|
||||||
if (lang === 'ast' || lang === 'gl' || lang === 'eu' || lang === 'ca') {
|
if (lang === 'ast' || lang === 'gl' || lang === 'eu' || lang === 'ca' ||
|
||||||
|
(lang && lang.match(/es_.*/)) ||
|
||||||
|
(lang && lang.match(/es-.*/))) {
|
||||||
return 'es';
|
return 'es';
|
||||||
}
|
}
|
||||||
return 'en';
|
return 'en';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export const getFileNameOfLang = (dir, fileName, ext, lang) => {
|
export const getFileNameOfLang = (dir, fileName, ext, lang) => {
|
||||||
const base = `${dir}/${fileName}`;
|
const base = `${dir}/${fileName}`;
|
||||||
const fallback = getFallbackLang(lang);
|
const fallback = getFallbackLang(lang);
|
||||||
|
|
|
||||||
40
test/file.test.js
Normal file
40
test/file.test.js
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* eslint-env mocha */
|
||||||
|
/* eslint-disable func-names, prefer-arrow-callback */
|
||||||
|
/* eslint-disable import/no-absolute-path */
|
||||||
|
|
||||||
|
import { chai } from 'meteor/practicalmeteor:chai';
|
||||||
|
import { getFileNameOfLang } from '/imports/api/Utility/server/files.js';
|
||||||
|
|
||||||
|
describe('get file of page', () => {
|
||||||
|
it('lang es retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang en retrieve en', async () => {
|
||||||
|
chai.expect('pages/about-en.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'en'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang gl retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'gl'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang ast retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'gl'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang eu retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'eu'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang ca retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'ca'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang es-PE retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es-PE'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('lang es_PE retrieve es', async () => {
|
||||||
|
chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es_PE'));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -10,6 +10,7 @@ const setting = {
|
||||||
name: 'site-test',
|
name: 'site-test',
|
||||||
value: 'Some value',
|
value: 'Some value',
|
||||||
description: 'Some description',
|
description: 'Some description',
|
||||||
|
isPublic: true,
|
||||||
type: 'string'
|
type: 'string'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -19,6 +20,11 @@ describe('site settings store', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should insert settings', () => {
|
it('should insert settings', () => {
|
||||||
|
// Remove previous test register
|
||||||
|
const alreadyInserted = SiteSettings.findOne({ name: 'site-test' });
|
||||||
|
if (alreadyInserted) {
|
||||||
|
SiteSettings.remove(alreadyInserted._id);
|
||||||
|
}
|
||||||
const id = SiteSettings.insert(setting);
|
const id = SiteSettings.insert(setting);
|
||||||
SiteSettings.getSchema(setting.type).validate(setting);
|
SiteSettings.getSchema(setting.type).validate(setting);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue