30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { extractVerboseDirective, extractThinkDirective } from "./reply.js";
|
|
|
|
describe("directive parsing", () => {
|
|
it("ignores verbose directive inside URL", () => {
|
|
const body = "https://x.com/verioussmith/status/1997066835133669687";
|
|
const res = extractVerboseDirective(body);
|
|
expect(res.hasDirective).toBe(false);
|
|
expect(res.cleaned).toBe(body);
|
|
});
|
|
|
|
it("ignores think directive inside URL", () => {
|
|
const body = "see https://example.com/path/thinkstuff";
|
|
const res = extractThinkDirective(body);
|
|
expect(res.hasDirective).toBe(false);
|
|
});
|
|
|
|
it("matches verbose with leading space", () => {
|
|
const res = extractVerboseDirective(" please /verbose on now");
|
|
expect(res.hasDirective).toBe(true);
|
|
expect(res.verboseLevel).toBe("on");
|
|
});
|
|
|
|
it("matches think at start of line", () => {
|
|
const res = extractThinkDirective("/think:high run slow");
|
|
expect(res.hasDirective).toBe(true);
|
|
expect(res.thinkLevel).toBe("high");
|
|
});
|
|
});
|