| 1234567891011121314151617181920212223242526272829303132 |
- import { describe, expect, test } from "bun:test"
- import { Schema } from "effect"
- import { Pty } from "@opencode-ai/core/pty"
- const sample = (pid: number) => ({
- id: "pty_01J5Y5H0AH4Q4NXJ6P4C3P5V2K",
- title: "demo",
- command: "cmd.exe",
- args: [],
- cwd: "C:\\",
- status: "running",
- pid,
- })
- describe("Pty.Info", () => {
- test("accepts pid 0 (Windows ConPTY assigns the pid asynchronously)", () => {
- expect(Schema.decodeUnknownSync(Pty.Info)(sample(0)).pid).toBe(0)
- })
- test("accepts a positive pid", () => {
- expect(Schema.decodeUnknownSync(Pty.Info)(sample(48012)).pid).toBe(48012)
- })
- test("rejects a negative pid", () => {
- expect(() => Schema.decodeUnknownSync(Pty.Info)(sample(-1))).toThrow()
- })
- test("accepts an exit code for retained exited sessions", () => {
- const info = Schema.decodeUnknownSync(Pty.Info)({ ...sample(48012), status: "exited", exitCode: 4 })
- expect(info.exitCode).toBe(4)
- })
- })
|