Skip to content

Commit e0d2e8e

Browse files
authored
Merge pull request jdorn#710 from tohosaku/fix_lang
Fixed a bug that language customization did not reflect.
2 parents 690bf7c + 04a5806 commit e0d2e8e

File tree

2 files changed

+38
-22
lines changed

2 files changed

+38
-22
lines changed

src/defaults.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,10 @@ function upload (type, file, cbs) {
260260

261261
/* String translate function */
262262
function translate (key, variables) {
263-
const lang = languages[language]
264-
if (!lang) throw new Error(`Unknown language ${language}`)
263+
const lang = defaults.languages[defaults.language]
264+
if (!lang) throw new Error(`Unknown language ${defaults.language}`)
265265

266-
let string = lang[key] || languages[default_language][key]
266+
let string = lang[key] || defaults.languages[default_language][key]
267267

268268
if (typeof string === 'undefined') throw new Error(`Unknown translate string ${key}`)
269269

tests/unit/defaults.spec.js

+35-19
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,38 @@
1-
/*
2-
Stub test file
3-
TODO: Write unit tests for all interfaces
4-
*/
1+
import { defaults } from '../../src/defaults'
52

6-
import { defaults } from '../../src/defaults';
3+
describe('defaults', () => {
4+
it('should be an object', () => {
5+
expect(typeof defaults).toBe('object')
6+
})
77

8+
it('should have standard properties defined', () => {
9+
expect(typeof (defaults.themes)).toBe('object')
10+
expect(typeof (defaults.templates)).toBe('object')
11+
expect(typeof (defaults.iconlibs)).toBe('object')
12+
expect(typeof (defaults.editors)).toBe('object')
13+
expect(typeof (defaults.languages)).toBe('object')
14+
expect(Array.isArray(defaults.resolvers)).toBe(true)
15+
expect(Array.isArray(defaults.custom_validators)).toBe(true)
16+
})
17+
})
818

9-
describe("defaults", function() {
10-
it("should be an object", function(){
11-
expect(typeof defaults).toBe("object");
12-
});
13-
it("should have standard properties defined", function(){
14-
expect(typeof(defaults.themes)).toBe("object");
15-
expect(typeof(defaults.templates)).toBe("object");
16-
expect(typeof(defaults.iconlibs)).toBe("object");
17-
expect(typeof(defaults.editors)).toBe("object");
18-
expect(typeof(defaults.languages)).toBe("object");
19-
expect(Array.isArray(defaults.resolvers)).toBe(true);
20-
expect(Array.isArray(defaults.custom_validators)).toBe(true);
21-
});
22-
});
19+
describe('languages test', () => {
20+
beforeEach(() => {
21+
defaults.languages.es = {
22+
error_notset: 'propiedad debe existir'
23+
}
24+
defaults.language = 'es'
25+
})
26+
27+
it('should translate other language', () => {
28+
expect(defaults.translate('error_notset')).toBe('propiedad debe existir')
29+
})
30+
31+
it('should return default message. if no translation', () => {
32+
expect(defaults.translate('error_notempty')).toBe('Value required')
33+
})
34+
35+
it('throw error to unknown translate string', () => {
36+
expect(() => defaults.translate('unknown_message')).toThrow()
37+
})
38+
})

0 commit comments

Comments
 (0)