Files
Arkie-Library-Frontend/src/resourceTypeLabels.test.ts

38 lines
1.2 KiB
TypeScript
Raw Normal View History

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: "全部",
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("全部");
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", () => {
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
});
});