From 83823959e3b8305609c4c63961d2a52dac2c9b38 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Mon, 29 Dec 2025 23:29:27 -0600 Subject: [PATCH] tests --- packages/opencode/src/global/index.ts | 6 ++++-- packages/opencode/test/skill/skill.test.ts | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/global/index.ts b/packages/opencode/src/global/index.ts index 9621cadd3a..7be58634e1 100644 --- a/packages/opencode/src/global/index.ts +++ b/packages/opencode/src/global/index.ts @@ -13,14 +13,16 @@ const state = path.join(xdgState!, app) export namespace Global { export const Path = { // Allow override via OPENCODE_TEST_HOME for test isolation - home: process.env.OPENCODE_TEST_HOME || os.homedir(), + get home() { + return process.env.OPENCODE_TEST_HOME || os.homedir() + }, data, bin: path.join(data, "bin"), log: path.join(data, "log"), cache, config, state, - } as const + } } await Promise.all([ diff --git a/packages/opencode/test/skill/skill.test.ts b/packages/opencode/test/skill/skill.test.ts index 5c9f6bc7cb..a797d28926 100644 --- a/packages/opencode/test/skill/skill.test.ts +++ b/packages/opencode/test/skill/skill.test.ts @@ -144,3 +144,23 @@ test("discovers global skills from ~/.claude/skills/ directory", async () => { }, }) }) + +test("returns empty array when no skills exist", async () => { + await using tmp = await tmpdir({ git: true }) + + // Override global home to a directory without any skills + const originalHome = process.env.OPENCODE_TEST_HOME + process.env.OPENCODE_TEST_HOME = tmp.path + + try { + await Instance.provide({ + directory: tmp.path, + fn: async () => { + const skills = await Skill.all() + expect(skills).toEqual([]) + }, + }) + } finally { + process.env.OPENCODE_TEST_HOME = originalHome + } +})