import assert from "node:assert/strict"; import test from "node:test"; import { MAX_RESULT_SCREENSHOTS, parseResultScreenshotKeys, serializeResultScreenshotKeys, } from "../lib/result-screenshots.ts"; test("keeps legacy task result screenshots readable", () => { assert.deepEqual( parseResultScreenshotKeys("task-results/dist-1/shot-1.png"), ["task-results/dist-1/shot-1.png"], ); }); test("serializes multiple task screenshots safely and caps their count", () => { const keys = Array.from( { length: MAX_RESULT_SCREENSHOTS + 3 }, (_, index) => `task-results/dist-1/shot-${index + 1}.png`, ); const serialized = serializeResultScreenshotKeys([ ...keys, "content-assets/not-allowed.png", ]); assert.equal(parseResultScreenshotKeys(serialized).length, MAX_RESULT_SCREENSHOTS); assert.ok( parseResultScreenshotKeys(serialized).every((key) => key.startsWith("task-results/"), ), ); });