64 lines
1.6 KiB
JavaScript
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');
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|