summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context/terminal.test.ts
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-06 09:37:49 -0600
committerGitHub <[email protected]>2026-02-06 09:37:49 -0600
commita4bc883595df9ea0f752079519081bc602408553 (patch)
tree583f21642f431899abe1dfb1f6bd9b2c01dc0206 /packages/app/src/context/terminal.test.ts
parentc07077f96c0019b2e18e0e8e1e0383deda08b3e6 (diff)
downloadopencode-a4bc883595df9ea0f752079519081bc602408553.tar.gz
opencode-a4bc883595df9ea0f752079519081bc602408553.zip
chore: refactoring and tests (#12468)
Diffstat (limited to 'packages/app/src/context/terminal.test.ts')
-rw-r--r--packages/app/src/context/terminal.test.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/app/src/context/terminal.test.ts b/packages/app/src/context/terminal.test.ts
new file mode 100644
index 000000000..d8c8cfcd4
--- /dev/null
+++ b/packages/app/src/context/terminal.test.ts
@@ -0,0 +1,38 @@
+import { beforeAll, describe, expect, mock, test } from "bun:test"
+
+let getWorkspaceTerminalCacheKey: (dir: string) => string
+let getLegacyTerminalStorageKeys: (dir: string, legacySessionID?: string) => string[]
+
+beforeAll(async () => {
+ mock.module("@solidjs/router", () => ({
+ useParams: () => ({}),
+ }))
+ mock.module("@opencode-ai/ui/context", () => ({
+ createSimpleContext: () => ({
+ use: () => undefined,
+ provider: () => undefined,
+ }),
+ }))
+ const mod = await import("./terminal")
+ getWorkspaceTerminalCacheKey = mod.getWorkspaceTerminalCacheKey
+ getLegacyTerminalStorageKeys = mod.getLegacyTerminalStorageKeys
+})
+
+describe("getWorkspaceTerminalCacheKey", () => {
+ test("uses workspace-only directory cache key", () => {
+ expect(getWorkspaceTerminalCacheKey("/repo")).toBe("/repo:__workspace__")
+ })
+})
+
+describe("getLegacyTerminalStorageKeys", () => {
+ test("keeps workspace storage path when no legacy session id", () => {
+ expect(getLegacyTerminalStorageKeys("/repo")).toEqual(["/repo/terminal.v1"])
+ })
+
+ test("includes legacy session path before workspace path", () => {
+ expect(getLegacyTerminalStorageKeys("/repo", "session-123")).toEqual([
+ "/repo/terminal/session-123.v1",
+ "/repo/terminal.v1",
+ ])
+ })
+})