/* 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) })