/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/app/src/context/global-sync/utils.test.ts
52 строки
2 KB
Luke Parker
fix(desktop): Path mismatches cause sessions missing + strong ID + existing data fix (#25013)
30 апр 2026, 01:39
Не верифицирован
30 апр 2026, 01:39
d7b7be1
Код
Авторство
О чём код?
import { describe, expect, test } from "bun:test" import type { Agent } from "@opencode-ai/sdk/v2/client" import { directoryKey, normalizeAgentList } from "./utils" const agent = (name = "build") => ({ name, mode: "primary", permission: {}, options: {}, }) as Agent describe("normalizeAgentList", () => { test("keeps array payloads", () => { expect(normalizeAgentList([agent("build"), agent("docs")])).toEqual([agent("build"), agent("docs")]) }) test("wraps a single agent payload", () => { expect(normalizeAgentList(agent("docs"))).toEqual([agent("docs")]) }) test("extracts agents from keyed objects", () => { expect( normalizeAgentList({ build: agent("build"), docs: agent("docs"), }), ).toEqual([agent("build"), agent("docs")]) }) test("drops invalid payloads", () => { expect(normalizeAgentList({ name: "AbortError" })).toEqual([]) expect(normalizeAgentList([{ name: "build" }, agent("docs")])).toEqual([agent("docs")]) }) }) describe("directoryKey", () => { test("normalizes slashes", () => { expect(String(directoryKey("C:\\Repos\\sst\\opencode"))).toBe("C:/Repos/sst/opencode") expect(String(directoryKey("C:/Repos/sst/opencode"))).toBe("C:/Repos/sst/opencode") }) test("preserves backslashes in posix paths", () => { expect(String(directoryKey("/tmp/foo\\bar"))).toBe("/tmp/foo\\bar") }) test("trims trailing slashes without breaking roots", () => { expect(String(directoryKey("C:/Repos/sst/opencode/"))).toBe("C:/Repos/sst/opencode") expect(String(directoryKey("C:/"))).toBe("C:/") expect(String(directoryKey("/"))).toBe("/") }) })