Something went wrong. Try again.
more up to date at codeberg https://codeberg.org/cowie/tau.git
Something went wrong. Try again.
1.4 kB · 48 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import { describe, expect, test } from "vitest";import type { Args } from "../src/cli/args.ts";import { buildInitialMessage } from "../src/cli/initial-message.ts";
function createArgs(messages: string[] = []): Args { return { messages: [...messages], fileArgs: [], unknownFlags: new Map(), diagnostics: [], };}
describe("buildInitialMessage", () => { test("merges piped stdin with the first CLI message into one prompt", () => { const parsed = createArgs(["Summarize the text given"]); const result = buildInitialMessage({ parsed, stdinContent: "README contents\n", });
expect(result.initialMessage).toBe("README contents\nSummarize the text given"); expect(parsed.messages).toEqual([]); });
test("uses stdin as the initial prompt when no CLI message is present", () => { const parsed = createArgs(); const result = buildInitialMessage({ parsed, stdinContent: "README contents", });
expect(result.initialMessage).toBe("README contents"); expect(parsed.messages).toEqual([]); });
test("combines stdin, file text, and first CLI message in one prompt", () => { const parsed = createArgs(["Explain it", "Second message"]); const result = buildInitialMessage({ parsed, stdinContent: "stdin\n", fileText: "file\n", });
expect(result.initialMessage).toBe("stdin\nfile\nExplain it"); expect(parsed.messages).toEqual(["Second message"]); });});