| 123456789101112131415161718192021222324252627282930313233343536 |
- /* eslint-disable test/no-import-node-test */
- import test from 'node:test'
- import assert from 'node:assert/strict'
- import { langHelper } from '../src/utils/langHelper.ts'
- const multilingualValue = '中文名称~~en**English name~~ru**Русское название'
- test('按当前语言转换嵌套响应数据', () => {
- const response = {
- name: multilingualValue,
- count: 0,
- children: [{ label: '子项~~en**Child' }],
- metadata: null,
- }
- assert.deepEqual(langHelper.transform(response, 'en'), {
- name: 'English name',
- count: 0,
- children: [{ label: 'Child' }],
- metadata: null,
- })
- assert.deepEqual(langHelper.transform(response, 'zh-CN').name, '中文名称')
- assert.deepEqual(langHelper.transform(response, 'ru').name, 'Русское название')
- })
- test('英文缺失时回退中文', () => {
- assert.equal(langHelper.getDisplayText('中文名称~~en**', 'en'), '中文名称')
- })
- test('没有动态字段时保持原值和原引用', () => {
- const response = { name: '普通文本', count: 0, children: [{ label: '子项' }] }
- assert.equal(langHelper.getDisplayText('普通文本', 'en'), '普通文本')
- assert.strictEqual(langHelper.transform(response, 'en'), response)
- })
|