mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 20:08:26 +00:00
refactor: centralize control ui avatar helpers
This commit is contained in:
@@ -1,8 +1,26 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { resolveAssistantAvatarUrl } from "./control-ui.js";
|
||||
import {
|
||||
buildControlUiAvatarUrl,
|
||||
normalizeControlUiBasePath,
|
||||
resolveAssistantAvatarUrl,
|
||||
} from "./control-ui-shared.js";
|
||||
|
||||
describe("resolveAssistantAvatarUrl", () => {
|
||||
it("normalizes base paths", () => {
|
||||
expect(normalizeControlUiBasePath()).toBe("");
|
||||
expect(normalizeControlUiBasePath("")).toBe("");
|
||||
expect(normalizeControlUiBasePath(" ")).toBe("");
|
||||
expect(normalizeControlUiBasePath("/")).toBe("");
|
||||
expect(normalizeControlUiBasePath("ui")).toBe("/ui");
|
||||
expect(normalizeControlUiBasePath("/ui/")).toBe("/ui");
|
||||
});
|
||||
|
||||
it("builds avatar URLs", () => {
|
||||
expect(buildControlUiAvatarUrl("", "main")).toBe("/avatar/main");
|
||||
expect(buildControlUiAvatarUrl("/ui", "main")).toBe("/ui/avatar/main");
|
||||
});
|
||||
|
||||
it("keeps remote and data URLs", () => {
|
||||
expect(
|
||||
resolveAssistantAvatarUrl({
|
||||
@@ -54,6 +72,15 @@ describe("resolveAssistantAvatarUrl", () => {
|
||||
).toBe("/ui/avatar/main");
|
||||
});
|
||||
|
||||
it("leaves local paths untouched when agentId is missing", () => {
|
||||
expect(
|
||||
resolveAssistantAvatarUrl({
|
||||
avatar: "avatars/me.png",
|
||||
basePath: "/ui",
|
||||
}),
|
||||
).toBe("avatars/me.png");
|
||||
});
|
||||
|
||||
it("keeps short text avatars", () => {
|
||||
expect(
|
||||
resolveAssistantAvatarUrl({
|
||||
|
||||
Reference in New Issue
Block a user