Solution 0x054ca82fe89ff53664b84304b335f216bd1dfbeca76588ee9d0169e905dac9ef
All checks were successful
elffuss/validation Validation passed
All checks were successful
elffuss/validation Validation passed
T2T-Item: 0x054ca82fe89ff53664b84304b335f216bd1dfbeca76588ee9d0169e905dac9ef T2T-Issue: 0x7bf84a053d2bd6ce83a7ce9d2799aadf280de622b31dbf03026d0e69d76d3a9a
This commit is contained in:
12
tests/acceptance/7/CRITERIA.json
Normal file
12
tests/acceptance/7/CRITERIA.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"schema": "elffuss-t2t/criteria@2",
|
||||
"issue": 7,
|
||||
"criteria": [
|
||||
{
|
||||
"index": 1,
|
||||
"tests": [
|
||||
"tests/acceptance/7/criteria.test.js::criterion 1"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
36
tests/acceptance/7/criteria.test.js
Normal file
36
tests/acceptance/7/criteria.test.js
Normal file
@@ -0,0 +1,36 @@
|
||||
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'))
|
||||
})
|
||||
Reference in New Issue
Block a user