diff --git a/src/config/schema/tmux.test.ts b/src/config/schema/tmux.test.ts new file mode 100644 index 000000000..3e039b35e --- /dev/null +++ b/src/config/schema/tmux.test.ts @@ -0,0 +1,25 @@ +/// + +import { describe, expect, test } from "bun:test" + +import { TmuxConfigSchema, TmuxIsolationSchema } from "./tmux" + +describe("TmuxIsolationSchema", () => { + describe('#given all supported isolation values', () => { + test('#when parsed #then it accepts inline, window, and session', () => { + expect(TmuxIsolationSchema.parse("inline")).toBe("inline") + expect(TmuxIsolationSchema.parse("window")).toBe("window") + expect(TmuxIsolationSchema.parse("session")).toBe("session") + }) + }) +}) + +describe("TmuxConfigSchema", () => { + describe('#given tmux isolation is omitted', () => { + test('#when parsed #then default isolation is inline', () => { + const result = TmuxConfigSchema.parse({}) + + expect(result.isolation).toBe("inline") + }) + }) +}) diff --git a/src/config/schema/tmux.ts b/src/config/schema/tmux.ts index 77582cf40..a10edc7f9 100644 --- a/src/config/schema/tmux.ts +++ b/src/config/schema/tmux.ts @@ -20,7 +20,7 @@ export const TmuxConfigSchema = z.object({ main_pane_size: z.number().min(20).max(80).default(60), main_pane_min_width: z.number().min(40).default(120), agent_pane_min_width: z.number().min(20).default(40), - isolation: TmuxIsolationSchema.default("session"), + isolation: TmuxIsolationSchema.default("inline"), }) export type TmuxConfig = z.infer