diff --git a/packages/opencode/test/fixtures/example/broken.ts b/packages/opencode/test/fixtures/example/broken.ts new file mode 100644 index 00000000..c60848fc --- /dev/null +++ b/packages/opencode/test/fixtures/example/broken.ts @@ -0,0 +1 @@ +// Test fixture for ListTool diff --git a/packages/opencode/test/fixtures/example/cli.ts b/packages/opencode/test/fixtures/example/cli.ts new file mode 100644 index 00000000..c60848fc --- /dev/null +++ b/packages/opencode/test/fixtures/example/cli.ts @@ -0,0 +1 @@ +// Test fixture for ListTool diff --git a/packages/opencode/test/fixtures/example/ink.tsx b/packages/opencode/test/fixtures/example/ink.tsx new file mode 100644 index 00000000..c60848fc --- /dev/null +++ b/packages/opencode/test/fixtures/example/ink.tsx @@ -0,0 +1 @@ +// Test fixture for ListTool diff --git a/packages/opencode/test/tool/__snapshots__/tool.test.ts.snap b/packages/opencode/test/tool/__snapshots__/tool.test.ts.snap index 12669e38..53c67195 100644 --- a/packages/opencode/test/tool/__snapshots__/tool.test.ts.snap +++ b/packages/opencode/test/tool/__snapshots__/tool.test.ts.snap @@ -1,17 +1,9 @@ -// Bun Snapshot v1, https://goo.gl/fbAQLP +// Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`tool.ls basic 1`] = ` -"- /home/thdxr/dev/projects/sst/opencode/js/example/ - - home/ - - thdxr/ - - dev/ - - projects/ - - sst/ - - opencode/ - - js/ - - example/ - - ink.tsx - - broken.ts - - cli.ts +"packages/opencode/test/fixtures/example/ + broken.ts + cli.ts + ink.tsx " `; diff --git a/packages/opencode/test/tool/tool.test.ts b/packages/opencode/test/tool/tool.test.ts index 7fb1c73c..f1ed318b 100644 --- a/packages/opencode/test/tool/tool.test.ts +++ b/packages/opencode/test/tool/tool.test.ts @@ -2,6 +2,7 @@ import { describe, expect, test } from "bun:test" import { App } from "../../src/app/app" import { GlobTool } from "../../src/tool/glob" import { ListTool } from "../../src/tool/ls" +import path from "path" const ctx = { sessionID: "test", @@ -12,9 +13,12 @@ const ctx = { const glob = await GlobTool.init() const list = await ListTool.init() +const projectRoot = path.join(__dirname, "../..") +const fixturePath = path.join(__dirname, "../fixtures/example") + describe("tool.glob", () => { test("truncate", async () => { - await App.provide({ cwd: process.cwd() }, async () => { + await App.provide({ cwd: projectRoot }, async () => { let result = await glob.execute( { pattern: "../../node_modules/**/*", @@ -26,7 +30,7 @@ describe("tool.glob", () => { }) }) test("basic", async () => { - await App.provide({ cwd: process.cwd() }, async () => { + await App.provide({ cwd: projectRoot }, async () => { let result = await glob.execute( { pattern: "*.json", @@ -44,9 +48,12 @@ describe("tool.glob", () => { describe("tool.ls", () => { test("basic", async () => { - const result = await App.provide({ cwd: process.cwd() }, async () => { - return await list.execute({ path: "./example", ignore: [".git"] }, ctx) + const result = await App.provide({ cwd: projectRoot }, async () => { + return await list.execute({ path: fixturePath, ignore: [".git"] }, ctx) }) - expect(result.output).toMatchSnapshot() + + // Normalize absolute path to relative for consistent snapshots + const normalizedOutput = result.output.replace(fixturePath, "packages/opencode/test/fixtures/example") + expect(normalizedOutput).toMatchSnapshot() }) })