28 lines · 955 B · TypeScript
RawDownload
import { describe, expect, it } from "vite-plus/test"; import { parseActiveThreadPath } from "./hardwareKeyboardCommands"; describe("parseActiveThreadPath", () => {  it("extracts the active thread from thread subroutes", () => {    expect(parseActiveThreadPath("/threads/environment-1/thread-1/files/src/index.ts")).toEqual({      environmentId: "environment-1",      threadId: "thread-1",    });  });   it("decodes route components", () => {    expect(parseActiveThreadPath("/threads/local%20machine/thread%2Fone/review")).toEqual({      environmentId: "local machine",      threadId: "thread/one",    });  });   it("ignores non-thread routes", () => {    expect(parseActiveThreadPath("/settings")).toBeNull();    expect(parseActiveThreadPath("/threads/environment-only")).toBeNull();  });   it("ignores malformed encoded route components", () => {    expect(parseActiveThreadPath("/threads/%E0%A4%A/thread-1")).toBeNull();  });});