Files
AtreidesAssetsFree/tests/ui/page-hint.test.mjs
T

33 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:d03e761dc5e1d78cdc30e118e106e4e15cddaef982c7d3ba457cc600c6565b81
import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { installDom } from '../helpers/mini-dom.mjs';
const dom = installDom();
const { setPageHint, clearPageHint, SAMPLES } = await import('../../client/ui/page-hint.js');
const vak = dom.document.createElement('div');
vak.id = 'page-hint';
dom.document.body.appendChild(vak);
const pagina = dom.host();
describe('page-hint: de legenda van Assets', () => {
it('draagt op elke legenda de regel over een ontbrekende koers, onder de titel en vóór de regels', () => {
setPageHint(pagina, { title: 'x', rows: ['Een regel.'] });
const paneel = vak.querySelector('.hint-panel');
assert.deepEqual(paneel.children.map(c => c.className), ['t-label', 'hint-row hint-warn', 'hint-row']);
assert.match(vak.querySelector('.hint-warn').textContent, /ontbreekt bij minstens één bedrag een koers/);
});
it('laat na het wissen een legenda met alleen die regel achter, voor een pagina zonder eigen legenda', () => {
setPageHint(pagina, { title: 'x', rows: ['Een regel.'] });
clearPageHint();
assert.ok(vak.querySelector('.hint.is-fallback'));
assert.ok(vak.querySelector('.hint-warn'));
assert.equal(vak.textContent.includes('Een regel.'), false);
});
it('geeft de monsters door die de pagina\'s van Assets gebruiken', () => {
for (const naam of ['line', 'dashed', 'dot', 'dotOpen', 'ring']) assert.equal(typeof SAMPLES[naam], 'string', naam);
});
});