Skip to content

Commit

Permalink
Add some extended use cases and add specs for all the test cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
messerm committed Dec 21, 2018
1 parent 37b846e commit 20cc059
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/defaults.js
Expand Up @@ -38,7 +38,8 @@ export function get() {
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: function handle(args) {
var ret = {};
if (args[1]) ret.defaultValue = args[1];
if (typeof args[1] === 'object') ret = args[1];
if (typeof args[1] === 'string') ret.defaultValue = args[1];
if (typeof args[2] === 'string') ret.tDescription = args[2];
if (typeof args[2] === 'object' || typeof args[3] === 'object') {
var options = args[3] || args[2];
Expand Down
32 changes: 32 additions & 0 deletions test/i18next.defaults.spec.js
Expand Up @@ -7,6 +7,38 @@ describe('defaults', () => {
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value'])).to.eql({ defaultValue: 'my default value' });
});

it('defaultValue as option', () => {
console.log(defaults.overloadTranslationOptionHandler(['key', { defaultValue: 'option default value' }]));
expect(defaults.overloadTranslationOptionHandler(['key', { defaultValue: 'option default value' }])).to.eql({ defaultValue: 'option default value' });
});

it('description', () => {
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value', 'the description'])).to.eql({ defaultValue: 'my default value', tDescription: 'the description' });
});

it('description with options defaultValue', () => {
// Options overwrites params default value
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value', 'the description'])).to.eql({ defaultValue: 'my default value', tDescription: 'the description' });
});

it('interpolation', () => {
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value {{params}}', {params: 'the value'}])).to.eql({ defaultValue: 'my default value {{params}}', params: 'the value' });
});

it('interpolation with options defaultValue', () => {
// Options overwrites params default value
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value {{params}}', {defaultValue: 'options default value', params: 'the value'}])).to.eql({ defaultValue: 'options default value', params: 'the value' });
});

it('interpolation description', () => {
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value {{params}}', 'the description', {params: 'the value'}])).to.eql({ defaultValue: 'my default value {{params}}', params: 'the value', tDescription: 'the description' });
});

it('interpolation description with options defaultValue', () => {
// Options overwrites params default value
expect(defaults.overloadTranslationOptionHandler(['key', 'my default value {{params}}', 'the description', {defaultValue: 'options default value', params: 'the value'}])).to.eql({ defaultValue: 'options default value', params: 'the value', tDescription: 'the description' });
});

it('it should have default format function', () => {
expect(defaults.interpolation.format('my value', '###', 'de')).to.equal('my value');
});
Expand Down

0 comments on commit 20cc059

Please sign in to comment.