Test translations

This commit is contained in:
Tom MacWright
2013-02-12 16:20:39 -05:00
parent 293784fbe9
commit d9d05f3e3a
3 changed files with 42 additions and 238 deletions
+7 -1
View File
@@ -138,7 +138,12 @@
<script src='../locale/locale.js'></script>
<script src='../locale/en.js'></script>
<script src='../locale/ja.js'></script>
<script src='../locale/fr.js'></script>
<script src='../locale/de.js'></script>
<script src='../locale/lv.js'></script>
<script src='../locale/tr.js'></script>
<script src='../locale/es.js'></script>
<script src="spec/spec_helpers.js"></script>
@@ -197,6 +202,7 @@
<script src="spec/oauth.js"></script>
<script src="spec/taginfo.js"></script>
<script src="spec/util.js"></script>
<script src="spec/translation.js"></script>
<script src="spec/behavior/hash.js"></script>
<script src="spec/behavior/hover.js"></script>
+35
View File
@@ -0,0 +1,35 @@
describe('translations', function() {
var languages = [], languageKeys = {};
function getKeys(lang, keys, prefix) {
keys = keys || [];
prefix = prefix || '';
for (var i in lang) {
keys.push(prefix + i);
if (typeof lang[i] === 'object') {
getKeys(lang[i], keys, i + '.');
}
}
return keys;
}
describe('#translation-differences', function() {
it('does not differ between languages', function() {
languages = _(locale).keys()
.without('current', '_current').value();
languageKeys = _.reduce(languages, function(mem, lang) {
mem[lang] = getKeys(locale[lang]);
return mem;
}, {});
var allkeys = _.flatten(_.values(languageKeys));
_.forEach(languageKeys, function(l, k) {
expect(_.difference(allkeys, l)).to.eql([]);
});
});
});
});