import { runAll, summarize, allChecks } from './framework.js';
// Registering a phase's checks is a side effect of importing it.
import './phase0.js';
import './phase1.js';
import './phase2.js';
import './phase3.js';
import './phase4.js';
import './phase5.js';
import './phase6.js';
import './phase7.js';
import './phase8.js';
import './phase9.js';
const out = document.getElementById('results');
const summaryEl = document.getElementById('summary');
function row(result) {
const el = document.createElement('div');
el.className = 'row ' + (result.pass ? 'pass' : result.manual ? 'manual' : 'fail');
el.innerHTML = `
${result.pass ? 'PASS' : 'FAIL'}
P${result.phase}
${result.name}
${result.ms}ms
${result.detail || ''}
`;
out.appendChild(el);
}
async function main() {
const params = new URLSearchParams(location.search);
const phaseArg = params.get('phase');
const phases = phaseArg ? phaseArg.split(',').map(Number) : null;
const skipSlow = params.get('slow') !== '1';
summaryEl.textContent = `running ${allChecks().length} checks…`;
const results = await runAll({ phases, skipSlow, onResult: row });
const s = summarize(results);
summaryEl.textContent =
`${s.passed}/${s.total} passed · ${s.failed} failed` + (skipSlow ? ' · slow checks skipped (?slow=1 to include)' : '');
summaryEl.className = s.ok ? 'ok' : 'bad';
// Read by the browser automation that drives these gates.
window.__CHECKS__ = { results, summary: s };
window.__CHECKS_DONE__ = true;
console.log('[checks]', JSON.stringify(s, null, 2));
}
main();