The ledger
The ledger closes the month with a hairline rule under every total.
/** * The render tier settled without a browser: a fake page runner hands lintRender every answer a browser could give * (nothing, null, malformed JSON, a probe error, a warn on a blocking rule, a polish tell, a thrown page script, * a pixel pass that cannot be read) and lint() settles the result against the page's waivers. Every cell of the * state matrix the browser tests only reach with Chromium installed is pinned here on every lane. */ import { afterAll, describe, expect, test } from 'bun:test'; import * as fs from 'node:fs'; import * as os from 'node:os'; import * as path from 'node:path'; import type { RenderResult, RenderSpec } from '../lib/aside-render'; import { lint } from '../lib/design-lint/index'; import { lintRender, type Runner } from '../lib/design-lint/render'; import type { Finding } from '../lib/design-lint/report'; import { FLOOR_REFUSAL, OWN_RULE_REFUSAL } from '../lib/design-lint/waivers'; const tmpDirs: string[] = []; afterAll(() => { for (const d of tmpDirs) fs.rmSync(d, { recursive: true, force: true }); }); const PAGE = (lead = '') => lead + '
The ledger closes the month with a hairline rule under every total.