- add the search/ npm workspace (root workspaces + search:test/search:typecheck delegates) - zero-dependency runner/harness copied from the bot/test precedent - 9 named normalizer laws: rule vectors, symmetry, whole-token-only, slash preservation, glued split, vowel-drop, idempotence, folding, table-is-data (>= 47 rows, one generic builder) All 9 cases fail while src/normalize.ts is absent — the RED gate.
11 lines
328 B
JavaScript
11 lines
328 B
JavaScript
/*
|
|
* harness.mjs — zero-dependency test registry.
|
|
* Same hand-rolled shape as bot/test/harness.mjs (the Phase 2 precedent):
|
|
* suites import { test } and register async cases; runner.mjs drains the registry.
|
|
*/
|
|
const tests = [];
|
|
export function test(name, fn) {
|
|
tests.push({ name, fn });
|
|
}
|
|
export const registry = tests;
|