Files
hyperframes/packages/producer/scripts/test-classification.test.mjs
Miguel Ángel afafca4b96 feat: make creator media edits render-safe (#3322)
* feat: make creator media edits render-safe

* fix: align media playback timing

* docs: add creator editing recipes

* docs: expand creator editing guidance

* fix: unify media source offsets

* fix: scale natural media duration

* fix: preserve natural media zero spans

* fix: align compiled natural media timing

* test: classify compiler media test as integration

* fix: drop inactive media windows

* fix: unify literal timing parsing

* fix: keep browser media parsing serializable

* fix: keep page timing readers strict

* fix: close remaining preview timing gaps

* fix(core): preserve Studio voice pitch at playback speed

* chore: keep creator contract source-neutral
2026-08-18 10:17:02 -04:00

60 lines
1.9 KiB
JavaScript

import assert from "node:assert/strict";
import { describe, it } from "node:test";
import {
classifyTestSource,
discoverProducerTests,
summarizeTests,
} from "./test-classification.mjs";
describe("producer test classification", () => {
it("classifies each supported runner into one lane", () => {
assert.deepEqual(classifyTestSource("src/a.test.ts", 'import { it } from "bun:test";'), {
file: "src/a.test.ts",
runner: "bun",
lane: "unit",
});
assert.deepEqual(
classifyTestSource(
"src/a.test.ts",
'import { it } from "vitest";',
new Set(["src/a.test.ts"]),
),
{ file: "src/a.test.ts", runner: "vitest", lane: "integration" },
);
});
it("rejects missing and ambiguous runner imports", () => {
assert.throws(() => classifyTestSource("src/a.test.ts", "export {};"), /neither runner/);
assert.throws(
() =>
classifyTestSource(
"src/a.test.ts",
'import { it } from "bun:test"; import { expect } from "vitest";',
),
/both bun:test and vitest/,
);
});
it("classifies every current source test exactly once", () => {
const tests = discoverProducerTests();
assert.equal(new Set(tests.map((test) => test.file)).size, tests.length);
const summary = summarizeTests(tests);
assert.ok(summary.total > 0);
assert.equal(
summary.unit.bun + summary.unit.vitest + summary.integration.bun + summary.integration.vitest,
summary.total,
);
});
it("keeps the real-media natural-duration compiler test in the integration lane", () => {
const test = discoverProducerTests().find(
({ file }) => file === "src/services/htmlCompiler.naturalDuration.test.ts",
);
assert.deepEqual(test, {
file: "src/services/htmlCompiler.naturalDuration.test.ts",
runner: "bun",
lane: "integration",
});
});
});