From 2cbc7d02bcc2319200bab795da3cf727e85835ec Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 2 Sep 2021 16:16:11 +0800 Subject: [PATCH] chore: tests --- .../service/{amd.spec.ts => amd.spec1.ts} | 0 .../__tests__/__snapshots__/json.spec.ts.snap | 23 +++++++++++ packages/uni-i18n/__tests__/json.spec.ts | 38 +++++++++++++++++++ packages/uni-i18n/dist/uni-i18n.cjs.js | 12 +++--- packages/uni-i18n/dist/uni-i18n.es.js | 12 +++--- packages/uni-i18n/src/json.ts | 24 ++++++------ 6 files changed, 88 insertions(+), 21 deletions(-) rename packages/uni-app-plus/__tests__/service/{amd.spec.ts => amd.spec1.ts} (100%) diff --git a/packages/uni-app-plus/__tests__/service/amd.spec.ts b/packages/uni-app-plus/__tests__/service/amd.spec1.ts similarity index 100% rename from packages/uni-app-plus/__tests__/service/amd.spec.ts rename to packages/uni-app-plus/__tests__/service/amd.spec1.ts diff --git a/packages/uni-i18n/__tests__/__snapshots__/json.spec.ts.snap b/packages/uni-i18n/__tests__/__snapshots__/json.spec.ts.snap index e8551c179..184b10ad3 100644 --- a/packages/uni-i18n/__tests__/__snapshots__/json.spec.ts.snap +++ b/packages/uni-i18n/__tests__/__snapshots__/json.spec.ts.snap @@ -55,6 +55,29 @@ exports[`compileI18nJsonStr androidPrivacy.json 1`] = ` `; exports[`compileI18nJsonStr pages.json->tabBar 1`] = ` +"{ + \\"color\\": \\"#7A7E83\\", + \\"selectedColor\\": \\"#007AFF\\", + \\"borderStyle\\": \\"black\\", + \\"backgroundColor\\": \\"#f8f8f8\\", + \\"list\\": [ + { + \\"pagePath\\": \\"pages/tabBar/component/component\\", + \\"iconPath\\": \\"static/component.png\\", + \\"selectedIconPath\\": \\"static/componentHL.png\\", + \\"text\\": \\"组件\\" + }, + { + \\"pagePath\\": \\"pages/tabBar/API/API\\", + \\"iconPath\\": \\"static/api.png\\", + \\"selectedIconPath\\": \\"static/apiHL.png\\", + \\"text\\": \\"接口\\" + } + ] +}" +`; + +exports[`compileI18nJsonStr pages.json->tabBar with multi language 1`] = ` "{ \\"color\\": \\"#7A7E83\\", \\"selectedColor\\": \\"#007AFF\\", diff --git a/packages/uni-i18n/__tests__/json.spec.ts b/packages/uni-i18n/__tests__/json.spec.ts index 8b3ee7cab..3885125ae 100644 --- a/packages/uni-i18n/__tests__/json.spec.ts +++ b/packages/uni-i18n/__tests__/json.spec.ts @@ -41,6 +41,43 @@ describe('compileI18nJsonStr', () => { ).toBe('{}') }) test('pages.json->tabBar', () => { + expect( + compileI18nJsonStr( + JSON.stringify({ + color: '#7A7E83', + selectedColor: '#007AFF', + borderStyle: 'black', + backgroundColor: '#%tabBar.backgroundColor%', + list: [ + { + pagePath: 'pages/tabBar/component/component', + iconPath: 'static/component.png', + selectedIconPath: 'static/componentHL.png', + text: '%tabBar.0.title%', + }, + { + pagePath: 'pages/tabBar/API/API', + iconPath: 'static/api.png', + selectedIconPath: 'static/apiHL.png', + text: '%tabBar.1.title%', + }, + ], + }), + { + locale: 'zh-Hans', + locales: { + 'zh-Hans': { + 'tabBar.backgroundColor': 'f8f8f8', + 'tabBar.0.title': '组件', + 'tabBar.1.title': '接口', + }, + }, + delimiters, + } + ) + ).toMatchSnapshot() + }) + test('pages.json->tabBar with multi language', () => { expect( compileI18nJsonStr( JSON.stringify({ @@ -82,6 +119,7 @@ describe('compileI18nJsonStr', () => { ) ).toMatchSnapshot() }) + test('androidPrivacy.json', () => { expect( compileI18nJsonStr( diff --git a/packages/uni-i18n/dist/uni-i18n.cjs.js b/packages/uni-i18n/dist/uni-i18n.cjs.js index c97acf47e..5e7e69eff 100644 --- a/packages/uni-i18n/dist/uni-i18n.cjs.js +++ b/packages/uni-i18n/dist/uni-i18n.cjs.js @@ -383,11 +383,13 @@ function compileValue(jsonObj, key, localeValues, delimiters) { // 存在国际化 if (isI18nStr(value, delimiters)) { jsonObj[key] = compileStr(value, localeValues[0].values, delimiters); - // 格式化国际化语言 - const valueLocales = (jsonObj[key + 'Locales'] = {}); - localeValues.forEach((localValue) => { - valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters); - }); + if (localeValues.length > 1) { + // 格式化国际化语言 + const valueLocales = (jsonObj[key + 'Locales'] = {}); + localeValues.forEach((localValue) => { + valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters); + }); + } } } else { diff --git a/packages/uni-i18n/dist/uni-i18n.es.js b/packages/uni-i18n/dist/uni-i18n.es.js index a898c8eb8..d4d1d6331 100644 --- a/packages/uni-i18n/dist/uni-i18n.es.js +++ b/packages/uni-i18n/dist/uni-i18n.es.js @@ -379,11 +379,13 @@ function compileValue(jsonObj, key, localeValues, delimiters) { // 存在国际化 if (isI18nStr(value, delimiters)) { jsonObj[key] = compileStr(value, localeValues[0].values, delimiters); - // 格式化国际化语言 - const valueLocales = (jsonObj[key + 'Locales'] = {}); - localeValues.forEach((localValue) => { - valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters); - }); + if (localeValues.length > 1) { + // 格式化国际化语言 + const valueLocales = (jsonObj[key + 'Locales'] = {}); + localeValues.forEach((localValue) => { + valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters); + }); + } } } else { diff --git a/packages/uni-i18n/src/json.ts b/packages/uni-i18n/src/json.ts index 1ad3ba48a..4601eb287 100644 --- a/packages/uni-i18n/src/json.ts +++ b/packages/uni-i18n/src/json.ts @@ -121,17 +121,19 @@ function compileValue( localeValues[0].values, delimiters ) - // 格式化国际化语言 - const valueLocales: Record = (( - jsonObj as Record - )[key + 'Locales'] = {}) - localeValues.forEach((localValue) => { - valueLocales[localValue.locale] = compileStr( - value, - localValue.values, - delimiters - ) - }) + if (localeValues.length > 1) { + // 格式化国际化语言 + const valueLocales: Record = (( + jsonObj as Record + )[key + 'Locales'] = {}) + localeValues.forEach((localValue) => { + valueLocales[localValue.locale] = compileStr( + value, + localValue.values, + delimiters + ) + }) + } } } else { compileJsonObj(value, localeValues, delimiters) -- GitLab