33 lines
874 B
TypeScript
33 lines
874 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import {
|
|
extractTodos,
|
|
stripCwdPrefix,
|
|
stripShellWrapperPrefix,
|
|
} from "./tool-call-parsers.js";
|
|
|
|
describe("tool-call-parsers utilities", () => {
|
|
it("strips cwd prefixes", () => {
|
|
expect(stripCwdPrefix("/tmp/repo/src/index.ts", "/tmp/repo")).toBe("src/index.ts");
|
|
expect(stripCwdPrefix("/tmp/repo", "/tmp/repo")).toBe(".");
|
|
});
|
|
|
|
it("strips shell wrapper prefixes", () => {
|
|
const wrapped = '/bin/zsh -lc "cd /tmp/repo && npm test"';
|
|
expect(stripShellWrapperPrefix(wrapped)).toBe("npm test");
|
|
});
|
|
|
|
it("extracts todo entries", () => {
|
|
expect(
|
|
extractTodos({
|
|
todos: [
|
|
{ content: "Task 1", status: "pending" },
|
|
{ content: "Task 2", status: "completed" },
|
|
],
|
|
})
|
|
).toHaveLength(2);
|
|
|
|
expect(extractTodos({ plan: [] })).toEqual([]);
|
|
});
|
|
});
|