import test from 'node:test' import assert from 'node:assert/strict' import { MODELS } from '../../../web/js/providers/litert.js' // Minimal stand-in for the page so the lab module can run and render its lists. class Node { constructor(tag) { this.tag = tag; this.children = []; this.style = {}; this.className = ''; this.textContent = ''; this.innerHTML = ''; this.scrollTop = 0; this.scrollHeight = 0 } appendChild(c) { this.children.push(c); return c } append(...cs) { cs.forEach(c => this.children.push(c)) } querySelector(s) { return this.slot(s) } slot(s) { return slots.get(s) } } const slots = new Map() const pick = s => { if (!slots.has(s)) { const n = new Node('slot'); n.id = s.slice(1); slots.set(s, n) } return slots.get(s) } Node.prototype.querySelector = function (s) { return pick(s) } globalThis.document = { querySelector: pick, createElement: t => new Node(t) } const store = new Map() globalThis.localStorage = { getItem: k => (store.has(k) ? store.get(k) : null), setItem: (k, v) => store.set(k, String(v)), removeItem: k => store.delete(k) } globalThis.window = { open() {} } await import('../../../web/js/lab.js') function titlesOf(node, out = []) { if (node.className === 't') out.push(node.textContent) node.children.forEach(c => titlesOf(c, out)) return out } test('criterion 1', () => { const titles = titlesOf(pick('#brains')) assert.equal(titles.length, 4) assert.equal(titles[2], MODELS['gemma-e2b'].label) assert.equal(titles[3], MODELS['gemma-e4b'].label) assert.ok(titles[0].startsWith('Reglas')) assert.ok(titles[1].startsWith('Elffuss LM')) })