import test from 'node:test'; import assert from 'node:assert/strict'; import fs from 'node:fs'; import path from 'path'; import { fileURLToPath } from 'node:url'; import defaultI18n from '../src/locale/index.ts'; import { getOmniText } from '../src/locale/omni.ts'; import loginLocale from '../src/pages/login/locale/index.ts'; const adminRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); const repoRoot = path.resolve(adminRoot, '..'); function read(rel: string): string { return fs.readFileSync(path.join(repoRoot, rel), 'utf8'); } test('1. 跨端词典 common.app_name 必须为 OmniCard', () => { assert.equal(getOmniText('zh-CN', 'common.app_name'), 'OmniCard'); assert.equal(getOmniText('en-US', 'common.app_name'), 'OmniCard'); assert.equal(getOmniText('ar-SA', 'common.app_name'), 'OmniCard'); assert.equal(defaultI18n['zh-CN']['common.app_name'], 'OmniCard'); assert.equal(defaultI18n['en-US']['common.app_name'], 'OmniCard'); }); test('2. 管理后台登录、导航、页脚、文档标题不得再出现 Arco 模板名', () => { const files = [ 'admin/index.html', 'admin/src/pages/login/index.tsx', 'admin/src/pages/login/locale/index.ts', 'admin/src/components/NavBar/index.tsx', 'admin/src/components/Footer/index.tsx', ]; for (const file of files) { const content = read(file); assert.ok(!content.includes('Arco Design Pro'), `${file} 不得再出现 Arco Design Pro`); assert.ok(!content.includes('Arco Pro'), `${file} 不得再出现 Arco Pro`); assert.ok(content.includes('OmniCard') || content.includes('common.app_name'), `${file} 应使用 OmniCard 品牌名`); } assert.equal(loginLocale['zh-CN']['login.form.title'], '登录 OmniCard'); assert.equal(loginLocale['en-US']['login.form.title'], 'Sign in to OmniCard'); }); test('3. 后端欢迎页与 Swagger 标题必须为 OmniCard', () => { const welcome = read('backend/public/index.html'); assert.ok(welcome.includes('OmniCard')); assert.ok(!welcome.includes('COOL-ADMIN')); assert.ok(!welcome.includes('cool-admin')); const swagger = read('backend/src/modules/swagger/config.ts'); assert.ok(swagger.includes('OmniCard')); assert.ok(!swagger.includes('Cool Admin')); }); test('4. 用户端应用名必须为 OmniCard', () => { const manifest = read('mpuniapp/manifest.json'); assert.ok(manifest.includes('"name" : "OmniCard"') || manifest.includes('"name": "OmniCard"')); const pages = read('mpuniapp/pages.json'); assert.ok(pages.includes('"navigationBarTitleText": "OmniCard"')); const locale = read('mpuniapp/common/locale.uts'); assert.ok(locale.includes("'common.app_name'")); assert.ok(locale.includes('OmniCard')); });