2026-05-16 18:21:37 +08:00
|
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
|
import {
|
|
|
|
|
resourceLanguageLabel,
|
|
|
|
|
resourceTypeDisplay,
|
|
|
|
|
resourceTypeLabel,
|
|
|
|
|
typeFilterLabel,
|
|
|
|
|
} from "./resourceTypeLabels";
|
|
|
|
|
|
|
|
|
|
const t = (key: string) =>
|
|
|
|
|
({
|
|
|
|
|
filterAll: "全部",
|
2026-05-26 07:36:53 +08:00
|
|
|
type_image: "图片",
|
|
|
|
|
type_video: "视频",
|
|
|
|
|
type_music: "音乐",
|
|
|
|
|
lang_zh: "中文",
|
|
|
|
|
lang_en: "English",
|
|
|
|
|
lang_ja: "日本語",
|
2026-05-16 18:21:37 +08:00
|
|
|
})[key] ?? key;
|
|
|
|
|
|
|
|
|
|
describe("resource labels", () => {
|
|
|
|
|
it("localizes known resource types and falls back to raw type", () => {
|
|
|
|
|
expect(typeFilterLabel(t, "all")).toBe("全部");
|
2026-05-26 07:36:53 +08:00
|
|
|
expect(resourceTypeLabel(t, "image")).toBe("图片");
|
|
|
|
|
expect(resourceTypeDisplay(t, "video")).toBe("视频");
|
|
|
|
|
expect(resourceTypeLabel(t, "music")).toBe("音乐");
|
2026-05-16 18:21:37 +08:00
|
|
|
expect(resourceTypeLabel(t, "unknown")).toBe("unknown");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("normalizes resource language codes", () => {
|
2026-05-26 07:36:53 +08:00
|
|
|
expect(resourceLanguageLabel(t, "zh-TW")).toBe("中文");
|
|
|
|
|
expect(resourceLanguageLabel(t, "zh-CN")).toBe("中文");
|
|
|
|
|
expect(resourceLanguageLabel(t, "zh-hans")).toBe("中文");
|
|
|
|
|
expect(resourceLanguageLabel(t, "EN")).toBe("English");
|
|
|
|
|
expect(resourceLanguageLabel(t, "ja")).toBe("日本語");
|
|
|
|
|
expect(resourceLanguageLabel(t, "xx")).toBe("xx");
|
2026-05-16 18:21:37 +08:00
|
|
|
});
|
|
|
|
|
});
|