Skip to content

Commit 9436c5e

Browse files
committed
added label and description localized
1 parent 352a801 commit 9436c5e

4 files changed

Lines changed: 30 additions & 2 deletions

File tree

src/HDSModel/HDSItemDef.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const { localizeText } = require('../localizeText');
2+
13
class HDSItemDef {
24
#data;
35
#key;
@@ -19,6 +21,16 @@ class HDSItemDef {
1921
get data () {
2022
return this.#data;
2123
}
24+
25+
/** @type {string} label Localized */
26+
get label () {
27+
return localizeText(this.#data.label);
28+
}
29+
30+
/** @type {string} description Localized */
31+
get description () {
32+
return localizeText(this.#data.description);
33+
}
2234
}
2335

2436
module.exports = HDSItemDef;

src/localizeText.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function getPreferredLocales () {
2828
* @returns {Array<string>}
2929
*/
3030
function getSupportedLocales () {
31-
return [...preferredLocales];
31+
return [...supportedLocales];
3232
}
3333

3434
/**

tests/hdsModel.test.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const { assert } = require('./test-utils/deps-node');
44
const modelURL = 'https://model.datasafe.dev/pack.json';
55

66
const { HDSModel } = require('../');
7+
const { resetPreferredLocales, setPreferredLocales } = require('../src/localizeText');
78

89
describe('[MODX] Model', () => {
910
let model;
@@ -29,6 +30,20 @@ describe('[MODX] Model', () => {
2930
});
3031

3132
// ---------- items ------------ //
33+
describe('[MOLX] items localization', function () {
34+
afterEach(() => {
35+
// make sure locales are set back to default after each test
36+
resetPreferredLocales();
37+
});
38+
it('[MOLL] Label & Description properties are localized', () => {
39+
const itemDef = model.itemsDefs.forKey('body-weight');
40+
assert.equal(itemDef.label, 'Body weight');
41+
assert.equal(itemDef.description, 'Measured body weight');
42+
setPreferredLocales(['fr']);
43+
assert.equal(itemDef.label, 'Poids corporel');
44+
assert.equal(itemDef.description, 'Poids corporel mesuré');
45+
});
46+
});
3247

3348
describe('[MOIX] items', function () {
3449
it('[MOIE] Throw error if itemsDefs.forKey not found', async () => {

tests/localizeText.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ const { assert } = require('./test-utils/deps-node');
33
const { resetPreferredLocales, getPreferredLocales, getSupportedLocales, localizeText, setPreferredLocales } = require('../src/localizeText');
44

55
describe('[LOCX] Lib settings', () => {
6-
beforeEach(() => {
6+
afterEach(() => {
7+
// make sure locales are set back to default after each test
78
resetPreferredLocales();
89
});
910

0 commit comments

Comments
 (0)