源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
|
||||
import { buildCommandPaletteSplitSessions } from "../src/react-app/shell/command-palette-sessions";
|
||||
import type { SessionOption } from "../src/react-app/shell/command-palette";
|
||||
|
||||
const sessions: SessionOption[] = [
|
||||
{
|
||||
workspaceId: "workspace-a",
|
||||
sessionId: "session-a",
|
||||
title: "Current",
|
||||
workspaceTitle: "Workspace A",
|
||||
updatedAt: 3,
|
||||
searchText: "current workspace a",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
workspaceId: "workspace-a",
|
||||
sessionId: "session-b",
|
||||
title: "Same workspace",
|
||||
workspaceTitle: "Workspace A",
|
||||
updatedAt: 2,
|
||||
searchText: "same workspace a",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
workspaceId: "workspace-b",
|
||||
sessionId: "session-a",
|
||||
title: "Same ID, other workspace",
|
||||
workspaceTitle: "Workspace B",
|
||||
updatedAt: 1,
|
||||
searchText: "same id workspace b",
|
||||
isActive: false,
|
||||
},
|
||||
];
|
||||
|
||||
describe("command palette split sessions", () => {
|
||||
test("offers same-workspace and cross-workspace sessions but not the current session", () => {
|
||||
const options = buildCommandPaletteSplitSessions(sessions, {
|
||||
workspaceId: "workspace-a",
|
||||
sessionId: "session-a",
|
||||
});
|
||||
|
||||
expect(options.map((option) => `${option.workspaceId}/${option.sessionId}`)).toEqual([
|
||||
"workspace-a/session-b",
|
||||
"workspace-b/session-a",
|
||||
]);
|
||||
expect(options.some((option) => option.workspaceTitle === "Workspace B")).toBe(true);
|
||||
expect(options.some((option) => option.workspaceId === "workspace-a" && option.sessionId === "session-a")).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user