Files
remoteconn-gitea/apps/miniprogram/utils/aboutContent.test.ts
2026-03-21 18:57:10 +08:00

71 lines
3.5 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { describe, expect, it } from "vitest";
const { getAboutBrand, getAboutDetailContent, getAboutHomeItems } = require("./aboutContent.js");
describe("about content i18n", () => {
it("关于页产品信息在繁中和英文下仍保留明细内容", () => {
const zhHantApp = getAboutDetailContent("app", "zh-Hant");
const enApp = getAboutDetailContent("app", "en");
expect(zhHantApp.sections[0].title).toBe("產品資訊");
expect(zhHantApp.sections[0].bullets.length).toBeGreaterThan(0);
expect(enApp.sections[0].title).toBe("Product Info");
expect(enApp.sections[0].bullets.length).toBeGreaterThan(0);
});
it("使用手册和隐私政策支持繁中和英文标题", () => {
const zhHantManual = getAboutDetailContent("manual", "zh-Hant");
const enPrivacy = getAboutDetailContent("privacy", "en");
expect(zhHantManual.title).toBe("使用手冊");
expect(enPrivacy.title).toBe("Privacy");
expect(enPrivacy.sections[0].bullets[3]).toContain("microphone audio chunks");
});
it("变更记录支持繁中和英文正文切换", () => {
const zhHansChangelog = getAboutDetailContent("changelog", "zh-Hans");
const zhHantChangelog = getAboutDetailContent("changelog", "zh-Hant");
const enChangelog = getAboutDetailContent("changelog", "en");
const zhHansV300 = zhHansChangelog.sections.find((section) => section.title === "v3.0.02026-03-18");
const zhHantV300 = zhHantChangelog.sections.find((section) => section.title === "v3.0.02026-03-18");
const enV300 = enChangelog.sections.find((section) => section.title === "v3.0.0 (2026-03-18)");
expect(zhHansV300?.bullets?.[0]).toContain("终端交互稳定性修复");
expect(zhHantChangelog.sections[0].title).toBe("索引說明");
expect(enChangelog.sections[0].title).toBe("Index Notes");
expect(zhHantV300?.bullets?.[1]).toContain("多語言文案");
expect(enV300?.bullets?.[2]).toContain("v2.9.6");
});
it("首页入口和品牌信息会按语言切换", () => {
expect(getAboutHomeItems("en")[0].title).toBe("Manual");
expect(getAboutBrand("zh-Hant").chineseName).toBe("AI矩連");
});
it("日文和韩文关于首页入口、反馈与关于详情页都支持本地化", () => {
expect(getAboutHomeItems("ja")[0].title).toBe("使い方");
expect(getAboutHomeItems("ko")[0].title).toBe("사용 안내");
expect(getAboutDetailContent("feedback", "ja").title).toBe("フィードバック");
expect(getAboutDetailContent("app", "ko").sections[0].title).toBe("제품 정보");
});
it("使用手册中的闪念页说明同步包含新增入口", () => {
const zhHansManual = getAboutDetailContent("manual", "zh-Hans");
const enManual = getAboutDetailContent("manual", "en");
expect(zhHansManual.sections[6].bullets[3]).toContain("新增");
expect(enManual.sections[6].bullets[3]).toContain("Add");
});
it("使用手册会在正文前插入项目背景三点并挂载配图", () => {
const zhHansManual = getAboutDetailContent("manual", "zh-Hans");
const enManual = getAboutDetailContent("manual", "en");
expect(zhHansManual.sections[0].title).toBe("为什么需要这个APP");
expect(zhHansManual.sections[0].bullets).toHaveLength(3);
expect(zhHansManual.sections[1].mediaItems[0].src).toBe("/assets/guide/guide-mobile-01-server-list.jpg");
expect(zhHansManual.sections[7].mediaItems).toHaveLength(4);
expect(enManual.sections[9].mediaItems[0].src).toBe("/assets/guide/guide-mobile-10-about.jpg");
});
});