mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-25 18:52:39 +00:00
* fix(workspaces): preserve spaces in project directory names Git path output and app workspace descriptors each stripped significant path whitespace. Preserve directory names while retaining single-record Git output validation and workspace separator normalization. * test(workspaces): capture Changes after files appear * test(workspaces): release fixtures when setup fails --------- Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com>
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { requireWorkspaceDirectory, resolveWorkspaceDirectory } from "./workspace-directory";
|
|
|
|
describe("resolveWorkspaceDirectory", () => {
|
|
it("preserves significant whitespace in a workspace folder name", () => {
|
|
expect(resolveWorkspaceDirectory({ workspaceDirectory: "/repo " })).toBe("/repo ");
|
|
expect(requireWorkspaceDirectory({ workspaceDirectory: "/repo /" })).toBe("/repo ");
|
|
});
|
|
it("canonicalizes a workspace directory and returns null when blank", () => {
|
|
expect(resolveWorkspaceDirectory({ workspaceDirectory: "C:\\repo\\app\\" })).toBe(
|
|
"C:/repo/app",
|
|
);
|
|
expect(resolveWorkspaceDirectory({ workspaceDirectory: " " })).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe("requireWorkspaceDirectory", () => {
|
|
it("returns the canonical directory when present", () => {
|
|
expect(requireWorkspaceDirectory({ workspaceDirectory: "/repo/app/" })).toBe("/repo/app");
|
|
});
|
|
|
|
it("throws naming the workspace when the directory is missing", () => {
|
|
expect(() =>
|
|
requireWorkspaceDirectory({ workspaceId: "wks_1", workspaceDirectory: " " }),
|
|
).toThrow("Workspace directory is missing for workspace wks_1");
|
|
});
|
|
});
|