From 1978990958386e8a91e9f2c38d630d58976391cf Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 19 Apr 2026 13:42:34 +0000 Subject: [PATCH] test: make default output path assertions cross-platform CI on Linux failed because tests passed a Windows-style root (C:/...) which path.resolve treats as a relative segment on POSIX. Use an absolute /workspace fixture and compare against resolve() so behavior matches getDefault* helpers on all platforms. Co-authored-by: Ne9roni --- tests/output-paths.test.ts | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/tests/output-paths.test.ts b/tests/output-paths.test.ts index 2bf1af5..3908036 100644 --- a/tests/output-paths.test.ts +++ b/tests/output-paths.test.ts @@ -1,3 +1,5 @@ +import { resolve } from "node:path"; + import { describe, expect, test } from "vitest"; import { @@ -6,31 +8,34 @@ import { getDefaultProjectPath, } from "../src/cli/output-paths.js"; +/** Absolute cwd fixture — avoid Windows-style roots on POSIX (they resolve relative to cwd). */ +const fixtureCwd = resolve("/workspace"); + describe("default output paths", () => { test("project create defaults to output/output.piskel in cwd", () => { - expect(getDefaultProjectPath("C:/workspace")).toBe( - "C:\\workspace\\output\\output.piskel", + expect(getDefaultProjectPath(fixtureCwd)).toBe( + resolve(fixtureCwd, "output", "output.piskel"), ); }); test("export commands default to output/output.* in cwd", () => { - expect(getDefaultExportPath("C:/workspace", "png")).toBe( - "C:\\workspace\\output\\output.png", + expect(getDefaultExportPath(fixtureCwd, "png")).toBe( + resolve(fixtureCwd, "output", "output.png"), ); - expect(getDefaultExportPath("C:/workspace", "gif")).toBe( - "C:\\workspace\\output\\output.gif", + expect(getDefaultExportPath(fixtureCwd, "gif")).toBe( + resolve(fixtureCwd, "output", "output.gif"), ); - expect(getDefaultExportPath("C:/workspace", "spritesheet")).toBe( - "C:\\workspace\\output\\output.png", + expect(getDefaultExportPath(fixtureCwd, "spritesheet")).toBe( + resolve(fixtureCwd, "output", "output.png"), ); - expect(getDefaultExportPath("C:/workspace", "metadata")).toBe( - "C:\\workspace\\output\\output.json", + expect(getDefaultExportPath(fixtureCwd, "metadata")).toBe( + resolve(fixtureCwd, "output", "output.json"), ); }); test("export frames defaults to output/frames in cwd", () => { - expect(getDefaultExportFramesDir("C:/workspace")).toBe( - "C:\\workspace\\output\\frames", + expect(getDefaultExportFramesDir(fixtureCwd)).toBe( + resolve(fixtureCwd, "output", "frames"), ); }); });