mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-21 15:01:03 +00:00
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
const readCliBannerTaglineModeMock = vi.fn();
|
|
|
|
vi.mock("./banner-config-lite.js", () => ({
|
|
readCliBannerTaglineMode: readCliBannerTaglineModeMock,
|
|
}));
|
|
|
|
let formatCliBannerLine: typeof import("./banner.js").formatCliBannerLine;
|
|
|
|
beforeAll(async () => {
|
|
({ formatCliBannerLine } = await import("./banner.js"));
|
|
});
|
|
|
|
beforeEach(() => {
|
|
readCliBannerTaglineModeMock.mockReset();
|
|
readCliBannerTaglineModeMock.mockReturnValue(undefined);
|
|
});
|
|
|
|
describe("formatCliBannerLine", () => {
|
|
it("hides tagline text when cli.banner.taglineMode is off", () => {
|
|
readCliBannerTaglineModeMock.mockReturnValue("off");
|
|
|
|
const line = formatCliBannerLine("2026.3.7", {
|
|
commit: "abc1234",
|
|
richTty: false,
|
|
});
|
|
|
|
expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234)");
|
|
});
|
|
|
|
it("uses default tagline when cli.banner.taglineMode is default", () => {
|
|
readCliBannerTaglineModeMock.mockReturnValue("default");
|
|
|
|
const line = formatCliBannerLine("2026.3.7", {
|
|
commit: "abc1234",
|
|
richTty: false,
|
|
});
|
|
|
|
expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234) — All your chats, one OpenClaw.");
|
|
});
|
|
|
|
it("prefers explicit tagline mode over config", () => {
|
|
readCliBannerTaglineModeMock.mockReturnValue("off");
|
|
|
|
const line = formatCliBannerLine("2026.3.7", {
|
|
commit: "abc1234",
|
|
richTty: false,
|
|
mode: "default",
|
|
});
|
|
|
|
expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234) — All your chats, one OpenClaw.");
|
|
});
|
|
});
|