const assert = require('node:assert/strict');
const test = require('node:test');
const { withBrowserEnv } = require('./support/load-browser-modules');
// Frontend tests double as documentation for the intended UI contract.
test('analysis modal body uses DOM content and preserves text escaping', async () => {
await withBrowserEnv({}, async ({ document, importModule }) => {
const { buildAnalysisBody } = await importModule('static/app/schedule/analysis-modal.mjs');
const body = buildAnalysisBody(document, {
analysis: {
score: '0hard/0soft',
constraints: [
{
name: '',
score: '0hard/0soft',
matchCount: 0,
},
],
},
}, [
{ name: '', type: 'hard' },
]);
const table = body.querySelector('table');
assert.ok(table, 'expected a rendered table node');
assert.equal(table.className, 'sf-table');
assert.equal(body.querySelector('script'), null);
assert.match(body.textContent, /