/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/core/test/pty/protocol.test.ts
27 строк
1 KB
Shoubhit Dash
refactor(core): canonicalize pty service (#32182)
14 июн 2026, 13:46
Не верифицирован
14 июн 2026, 13:46
f2cf607
Код
Авторство
О чём код?
import { describe, expect, test } from "bun:test" import { PtyProtocol } from "@opencode-ai/core/pty/protocol" describe("pty protocol", () => { test("drops invalid binary input frames and decodes valid ones", () => { expect(PtyProtocol.decodeInput("ready")).toBe("ready") expect(PtyProtocol.decodeInput(new Uint8Array([0xff, 0xfe, 0xfd]))).toBeUndefined() expect(PtyProtocol.decodeInput(new TextEncoder().encode("hello"))).toBe("hello") expect(PtyProtocol.decodeInput(new TextEncoder().encode("hello").buffer)).toBe("hello") }) test("encodes the cursor as a 0x00-prefixed JSON control frame", () => { const frame = PtyProtocol.metaFrame(42) expect(frame[0]).toBe(0) expect(JSON.parse(new TextDecoder().decode(frame.subarray(1)))).toEqual({ cursor: 42 }) }) test("splits replay into bounded frames", () => { expect(PtyProtocol.chunks("")).toEqual([]) expect(PtyProtocol.chunks("abc")).toEqual(["abc"]) const big = "x".repeat(PtyProtocol.REPLAY_CHUNK + 1) const frames = PtyProtocol.chunks(big) expect(frames.length).toBe(2) expect(frames[0].length).toBe(PtyProtocol.REPLAY_CHUNK) expect(frames.join("")).toBe(big) }) })