Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
commit
03634b1ca3
11340 files changed
+3442369
No files matched your search
@@ -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");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user