/**
* v0.36.1.0 (T15 / D23) — server-rendered SVG renderer tests.
*
* Pure functions, hermetic. No DOM, no JSDOM. Asserts structural
* properties of the emitted SVG markup.
*/
import { describe, test, expect } from 'bun:test';
import {
renderBrierTrend,
renderDomainBars,
renderAbandonedThreadsCard,
renderPatternStatementsCard,
escapeXml,
} from '../src/core/calibration/svg-renderer.ts';
describe('escapeXml', () => {
test('escapes the 5 mandatory entities', () => {
expect(escapeXml('')).toBe('<script>&"'</script>');
});
});
describe('renderBrierTrend', () => {
test('empty series → empty-state SVG with placeholder text', () => {
const out = renderBrierTrend({ series: [] });
expect(out).toContain('No Brier-trend data yet');
expect(out).toContain('