2016-03-22 16:26:16 -04:00
|
|
|
/*
|
|
|
|
* spot check that each language has values for the string id keys on About page
|
|
|
|
* that are contained in English (i.e. make sure strings will show up, not ids")
|
|
|
|
*/
|
2016-03-23 08:22:09 -04:00
|
|
|
var merge = require('lodash.merge');
|
|
|
|
var path = require('path');
|
2016-03-22 16:26:16 -04:00
|
|
|
var tap = require('tap');
|
2016-03-23 08:22:09 -04:00
|
|
|
|
2016-03-22 16:26:16 -04:00
|
|
|
var languages = require('../../languages.json');
|
2016-03-23 08:22:09 -04:00
|
|
|
var localeCompare = require('../../bin/lib/locale-compare');
|
2016-03-22 16:26:16 -04:00
|
|
|
|
2016-03-22 16:38:12 -04:00
|
|
|
tap.test('spotCheckAboutStrings', function (t) {
|
2016-03-22 16:26:16 -04:00
|
|
|
var isoCodes = Object.keys(languages);
|
2016-03-23 08:22:09 -04:00
|
|
|
isoCodes.splice(isoCodes.indexOf('en'), 1);
|
|
|
|
var viewLocales = {};
|
|
|
|
var idsWithICU = {};
|
|
|
|
var icuWithIds = {};
|
|
|
|
localeCompare.getIdsForView(
|
|
|
|
'about',
|
|
|
|
path.resolve(__dirname, '../../src/views/about/l10n.json'),
|
|
|
|
viewLocales,
|
|
|
|
idsWithICU,
|
|
|
|
icuWithIds
|
|
|
|
);
|
|
|
|
var md5WithIds = localeCompare.getMD5Map(icuWithIds);
|
|
|
|
var keysToCheck = Object.keys(merge(viewLocales['about']['en'])).sort();
|
2016-03-22 16:26:16 -04:00
|
|
|
for (var i in isoCodes) {
|
2016-03-23 08:22:09 -04:00
|
|
|
var translations = localeCompare.getTranslationsForLanguage(isoCodes[i], idsWithICU, md5WithIds);
|
2016-03-22 16:26:16 -04:00
|
|
|
t.same(
|
2016-03-23 08:22:09 -04:00
|
|
|
Object.keys(translations['about'][isoCodes[i]]).sort(),
|
2016-03-22 16:26:16 -04:00
|
|
|
keysToCheck,
|
|
|
|
'check About keys for language ' + isoCodes[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
t.end();
|
2016-03-22 16:38:12 -04:00
|
|
|
});
|