Files
openwork/evals/specs/live-step-scroll.test.ts

24 lines
985 B
TypeScript

import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { expect } from "vitest";
import { test } from "@openwork/testkit";
const messageListPath = fileURLToPath(
new URL("../../apps/app/src/components/chat/message-list.tsx", import.meta.url),
);
test("live thinking uses the transcript scroll instead of a nested step scroller", ({ evidence }) => {
const source = readFileSync(messageListPath, "utf8");
expect(source).toContain('data-live-steps=""');
expect(source).toContain('data-live-steps="" className="flex flex-col gap-2"');
expect(source).not.toContain('data-scrollable=""');
expect(source).not.toContain("max-h-[520px]");
expect(source).not.toContain("overflow-y-auto");
evidence.recordAssertionEvidence(
"Live thinking has no nested scrollbar",
"Live and completed step runs render inline without a height cap or overflow scroller, leaving the transcript as the only vertical scroll container.",
true,
);
});