feat: integrate Pi backend and Pi Web

This commit is contained in:
luckyyzh
2026-07-30 19:37:53 +08:00
commit 7392ab9dd7
1390 changed files with 337197 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
import assert from "node:assert/strict";
import test from "node:test";
async function loadSubject() {
return import("./initial-navigation.ts");
}
test("uses cwd instead of session when both parameters are present", async () => {
const { getInitialNavigation } = await loadSubject();
const result = getInitialNavigation(new URLSearchParams({
cwd: " /work/project ",
session: "saved-session",
}));
assert.deepEqual(result, {
requestedCwd: "/work/project",
sessionId: null,
});
});
test("restores session when cwd is absent", async () => {
const { getInitialNavigation } = await loadSubject();
assert.deepEqual(
getInitialNavigation(new URLSearchParams({ session: "saved-session" })),
{ requestedCwd: null, sessionId: "saved-session" },
);
});
test("treats an empty cwd as absent", async () => {
const { getInitialNavigation } = await loadSubject();
assert.deepEqual(
getInitialNavigation(new URLSearchParams({ cwd: " ", session: "saved-session" })),
{ requestedCwd: null, sessionId: "saved-session" },
);
});
test("preserves a URL-encoded Windows path", async () => {
const { getInitialNavigation } = await loadSubject();
assert.deepEqual(
getInitialNavigation(new URLSearchParams("cwd=C%3A%5CProjects%5Cpi-web")),
{ requestedCwd: "C:\\Projects\\pi-web", sessionId: null },
);
});