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(); });});
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();
});
});