redmine-client/node_modules/i18next/test/i18next.basic.spec.js
2014-12-26 04:41:54 +01:00

64 lines
1.6 KiB
JavaScript

var i18n = require('../index')
, expect = require('expect.js')
, sinon = require('sinon')
, filesync = require('../lib/filesync');
describe('i18next.basic.spec', function() {
var opts;
beforeEach(function() {
opts = {
lng: 'en-US',
preload: [],
supportedLngs: [],
lowerCaseLng: false,
ns: 'translation',
resGetPath: 'test/locales/__lng__/__ns__.json',
resSetPath: 'test/locales/__lng__/new.__ns__.json',
saveMissing: false,
resStore: false,
returnObjectTrees: false,
debug: false
};
i18n.backend(filesync);
});
describe('basic functionality', function() {
describe('load JSON5', function() {
beforeEach(function(done) {
i18n.init(i18n.functions.extend(opts, {
resGetPath: 'test/locales/__lng__/__ns__.json5'
}), function(t) { done(); } );
});
it('it shouldn\'t throw an error and have the right keys', function() {
expect(i18n.t('simple_en-US')).to.be('ok_from_en-US');
expect(i18n.t('test.simple_en-US')).to.be('ok_from_en-US');
});
});
describe('save missing key', function() {
beforeEach(function(done) {
i18n.init(i18n.functions.extend(opts, { saveMissing: true }), function(t) { done(); } );
});
it('it shouldn\'t throw an error', function() {
expect(i18n.t('missingTest')).to.be('missingTest');
});
it('it should not throw error on unknown language namespace combination', function() {
expect(i18n.t('ns.unknown:missingTest')).to.be('ns.unknown:missingTest');
});
});
});
});