Changeset b2646cc in Klonkt for test/guardian-gate-panel.test.js


Ignore:
Timestamp:
08/07/2026 11:58:49 PM (5 weeks ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
a9bc6ab
Parents:
9ce14b8
git-author:
Robin <roboburr@…> (08/07/2026 11:58:47 PM)
git-committer:
roboburr <roboburr@…> (08/07/2026 11:58:49 PM)
Message:

Waarschuwen voor wat er blijft hangen (shaer-nf9)

Barts opdracht: waarschuw bij het openen en het accepteren van een gate-voorstel.
Zijn zin was "Een geopende poort gaat niet meer dicht!"

DIE ZIN STAAT ER NIET, EN DAT IS MET OPZET. Als uitspraak over de INSTELLING is
hij onwaar: shaer-ahy eist het tegendeel en de code doet het -- een voorstel
draagt true of false. Een waarschuwing die aantoonbaar niet klopt neemt de rest
van het scherm mee in zijn val zodra iemand het merkt.

Wat wel onomkeerbaar is, is het GEVOLG, en die versie is zwaarder:

Wat hier doorheen komt, komt niet meer terug. Je kunt deze instelling later
weer dichtzetten -- wat je kind gezien heeft niet.

Independence krijgt zijn eigen tekst, want dat draagt gezag over en is wel echt
onomkeerbaar (shaer-90v). Welke tekst je krijgt volgt uit de catalogus, dus een
nieuwe gate hoeft niets te bedenken.

ONBEKEND KRIJGT DE ZWAARSTE. Een guardian elders kan iets voorstellen dat onze
catalogus niet kent. Bij twijfel waarschuwen we zwaarder, niet lichter -- de
faalstand die pijn doet is een guardian die iets doorlaat omdat het scherm er
licht over deed.

ALLEEN BIJ OPENZETTEN. Dichtzetten laat niets nieuws door, en een waarschuwing
die overal staat wordt nergens gelezen.

BIJ ACCEPTEREN KON HET GEVRAAGDE NIET. De bead stelde voor te tonen of jouw
antwoord de drempel haalt, want gatedProgress bestaat al. Maar die werkt op een
LOKALE slug, en er zijn geen lokale wards -- voor deze kaart komt hij altijd op
null uit. Een verzonnen "1 van 2" zou hier het gevaarlijkste getal op het scherm
zijn: het leest als "er kan nog iemand na mij". Er staat nu wat waar is: wij zien
de telling niet, die loopt op de server van het kind, en jouw ja kan de doorslag
geven -- want de tally settelt op het moment dat de drempel gehaald is.

Geen window.confirm, zoals bij het loslaten van een ward: de uitleg staat er, en
dan pas de knop. Drie talen. Vier toetsen, twee vallen om bij mutatie. 619/619.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/guardian-gate-panel.test.js

    r9ce14b8 rb2646cc  
    117117  for (const r of gated.gateRows({})) assert.equal(typeof r.reversible, 'boolean');
    118118});
     119
     120// ── De waarschuwing bij een voorstel (shaer-nf9) ────────────────────────
     121
     122test('een gewone gate waarschuwt omkeerbaar, niet onomkeerbaar', () => {
     123  // Barts zin "een geopende poort gaat niet meer dicht" klopt niet over de
     124  // INSTELLING -- die gaat wel weer dicht. Zo'n aantoonbaar onware waarschuwing
     125  // neemt de rest van het scherm mee in zijn val zodra iemand het merkt.
     126  assert.equal(gated.gateConsequence('shaer:externalEmbeds'), 'reversible');
     127});
     128
     129test('independence waarschuwt WEL onomkeerbaar', () => {
     130  // De enige die gezag overdraagt (shaer-90v). Daar is Barts zin wel waar.
     131  assert.equal(gated.gateConsequence('shaer:independence'), 'irreversible');
     132});
     133
     134test('een gate die we NIET kennen krijgt de zwaarste tekst', () => {
     135  // Een mede-guardian elders kan iets voorstellen dat onze catalogus niet kent.
     136  // Bij twijfel waarschuwen we zwaarder, niet lichter: de faalstand die hier pijn
     137  // doet is een guardian die iets doorlaat omdat het scherm er licht over deed.
     138  assert.equal(gated.gateConsequence('shaer:ietsNieuws'), 'unknown');
     139});
     140
     141test('elke gate uit de catalogus levert een gevolg op', () => {
     142  // Anders valt er stilletjes een rij zonder waarschuwing door.
     143  for (const g of gated.GATE_CATALOGUE) {
     144    assert.ok(['reversible', 'irreversible'].includes(gated.gateConsequence(g.feature)), g.feature);
     145  }
     146});
Note: See TracChangeset for help on using the changeset viewer.