Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license

This commit is contained in:
yilsem committed 2026-09-05 13:26:46 +03:00
commit 03634b1ca3
11340 files changed
+3442369

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
import { describe, expect, it } from "vitest";
import { resolvePageTitle } from "./resolve-page-title";
import type { Translations } from "@/i18n/types";
// Minimal translations stub — only the fields resolvePageTitle touches.
const t = {
app: {
webUi: "Web UI",
nav: {
analytics: "Analytics",
chat: "Chat",
config: "Config",
cron: "Cron",
documentation: "Documentation",
keys: "Keys",
logs: "Logs",
models: "Models",
profiles: "Profiles",
plugins: "Plugins",
sessions: "Sessions",
skills: "Skills",
},
},
} as unknown as Translations;
describe("resolvePageTitle", () => {
it("uses i18n nav keys for translated routes", () => {
expect(resolvePageTitle("/sessions", t, [])).toBe("Sessions");
expect(resolvePageTitle("/env", t, [])).toBe("Keys");
});
it("renders initialisms and literal labels correctly", () => {
// Regression: the naive capitalize fallback produced "Mcp".
expect(resolvePageTitle("/mcp", t, [])).toBe("MCP");
expect(resolvePageTitle("/system", t, [])).toBe("System");
expect(resolvePageTitle("/channels", t, [])).toBe("Channels");
expect(resolvePageTitle("/webhooks", t, [])).toBe("Webhooks");
expect(resolvePageTitle("/pairing", t, [])).toBe("Pairing");
expect(resolvePageTitle("/files", t, [])).toBe("Files");
});
it("prefers plugin tab labels", () => {
expect(
resolvePageTitle("/kanban", t, [{ path: "/kanban", label: "Kanban" }]),
).toBe("Kanban");
});
it("falls back to capitalized path segment for unknown routes", () => {
expect(resolvePageTitle("/whatever", t, [])).toBe("Whatever");
});
it("treats root as sessions and trailing slashes as equivalent", () => {
expect(resolvePageTitle("/", t, [])).toBe("Sessions");
expect(resolvePageTitle("/mcp/", t, [])).toBe("MCP");
});
});