Vier rote Pruefungen -- drei Phantome und ein echtes Gewicht
Weiter durch die rote Liste. Drei der vier Befunde zeigten auf
gesunden Code; die Pruefungen selbst waren seit einem Umbau nicht
nachgezogen worden.
pruef-schritt (2 rot -> 71 gruen statt 47)
Meldete "1 von 6 Kategorien". Die Karte geht seit dem 01.10.2026
gefiltert auf ("zugetragen"), Bloecke ohne solche Punkte werden gar
nicht gezeichnet. Die Pruefung zaehlte danach alle. Schlimmer: Weil
dann kein Block mehr zugeklappt war, lief der Klick auf einen
zugeklappten 30 Sekunden in die Frist und riss den Lauf mit -- 24 von
71 Pruefungen liefen nie. Jetzt wird erst die Vorgabe geprueft (sie
ist eine Zusage), dann auf "Alle" gestellt.
pruef-glocke (1 rot -> 34 gruen)
Meldete "auf der Anmeldeseite steht der Knopf". Gemessen landete sie
auf start.html: Dieselbe Seite war eine Zeile zuvor angemeldet durch
zwanzig Arbeitsseiten gelaufen, und angemeldet fuehrt /workspace/
nicht zur Wand. Jetzt eigener Kontext ohne Keks -- und davor die
Zeile, dass die Wand wirklich erreicht wurde.
pruef-zeichen (1 rot -> 8 gruen)
Meldete content: "·" als Kodierungstruemmer. Die Bytes sind C2 B7,
also korrektes UTF-8; der Mittelpunkt ist ein begruendeter Trennpunkt
(seit 03.10.). Die Regel stammt aus einer Zeit, in der sie selbst
festhielt: "KEINE einzige benutzt ein Zeichen aus diesem Block."
Jetzt eine benannte Ausnahme MIT Veraltungsschutz: Jedes Zeichen
darin muss wirklich vorkommen, sonst wird die Ausnahme rot.
pruef-tempo-workspace (1 rot -> 9 gruen) -- DER ECHTE BEFUND
uebersicht.html 959 KB, bereich.html?b=live 1094 KB bei einer Grenze
von 900. Die Pruefung sagt jetzt auch, WORAN es liegt, und die
Antwort war eindeutig: ZWEI Buehnenbilder auf einer Seite, die eines
zeigt (281 KB studio + 262 KB portal).
Ursache: start.css traegt an body.start::before einen Rueckfall
(studio), und kopf.js setzt `data-buehne` erst, wenn die Seite steht.
Bis dahin ist der Rueckfall geholt -- auf 43 von 45 Seiten.
Jetzt steht die Szene fest im <body>, erzeugt aus bereiche.js
(tools/buehne-festschreiben.mjs, 20 Seiten). bereich.html bedient
fuenf Bretter und kann das nicht; sie bekommt ein kleines Skript
gleich hinter <body>, das die Szene aus `?b=` setzt, bevor gezeichnet
wird. Gemessen: 1094 -> 879 KB, und die Grenze haelt wieder.
DIE ZUORDNUNG STEHT DAMIT AN ZWEI STELLEN. Das ist nur vertretbar,
weil sie nicht auseinanderlaufen kann: pruef-buehnen-fest.mjs (neu,
13 Pruefungen) haelt HTML gegen bereiche.js, prueft die Lage des
Skripts und dass jede genannte Szene eine Regel hat.
Dabei gefunden und berichtigt -- zweimal an mir selbst: Der erste
Entwurf verglich Szenen mit Dateinamen und meldete teamlage.html
("eingang") als Fehler; die Szene gibt es, ihre Regel zeigt nur auf
ein crew-Bild. Und der Lage-Anker suchte `data-buehne`, das Skript
schreibt `dataset.buehne` -- indexOf gab -1, die Rechnung wurde
negativ und meldete "-2276 Zeichen dahinter".
Gegenproben gefahren: Szene verschoben -> rot mit Abstand; Ausnahme
verwaist -> rot; erfundene Szene -> erkannt.
Dazu gruen: css-klassen, workspace-seiten, neue-seiten, haus-trennung,
kopfleiste-farbe.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -383,6 +383,41 @@ melde("=== 8. Im Browser ===");
|
||||
Geprüft wird nicht, dass es einen Knopf GIBT -- sondern dass er
|
||||
etwas tut, und dass zugeklappt trotzdem dasteht, was drin ist.
|
||||
================================================================ */
|
||||
/* ==== DIE KARTE GEHT SEIT DEM 01.10.2026 GEFILTERT AUF ============
|
||||
(nachgezogen am 07.10.2026)
|
||||
|
||||
entwicklung.js setzt beim Oeffnen `stufenFilter = 'zugetragen'`,
|
||||
sobald dieser Mensch ueberhaupt etwas zugetragen bekommen hat --
|
||||
„womit die Karte aufgeht". Bloecke ohne zugetragene Punkte werden
|
||||
dann gar nicht gezeichnet (`if (!punkte.length) continue`).
|
||||
|
||||
DIESE PRUEFUNG WUSSTE DAVON NICHTS und zaehlte danach ALLE
|
||||
Kategorien. Ergebnis: „1 von 6" -- ein Befund, der auf die Karte
|
||||
zeigte, obwohl die Karte tat, was sie soll. Und weil danach kein
|
||||
einziger Block mehr zugeklappt war, lief der Klick auf einen
|
||||
zugeklappten 30 Sekunden in die Frist und riss den ganzen Lauf mit.
|
||||
Ein Fehlalarm, der einen zweiten echten Fehler erzeugt.
|
||||
|
||||
ZUERST DIE VORGABE PRUEFEN -- sie ist eine Zusage, keine Nebensache
|
||||
--, dann auf „Alle" stellen. Was die Zeile darunter behauptet („die
|
||||
Karte zeigt ALLE Bloecke"), gilt genau dort. */
|
||||
const vorgabe = await seite.evaluate(() => {
|
||||
const k = document.querySelector('.e-stufen__knopf[aria-pressed="true"]');
|
||||
return {
|
||||
gewaehlt: k?.dataset.erwartung ?? null,
|
||||
wort: k?.querySelector(".e-stufen__name")?.textContent.trim() ?? null,
|
||||
zugetragen: Number(document.querySelector('.e-stufen__knopf[data-erwartung="zugetragen"] .e-stufen__zahl')?.textContent || 0),
|
||||
};
|
||||
});
|
||||
ok(vorgabe.zugetragen > 0 && vorgabe.gewaehlt === "zugetragen",
|
||||
`die Karte geht auf „${vorgabe.wort}" auf, weil ${vorgabe.zugetragen} Punkte zugetragen sind`);
|
||||
|
||||
await seite.click('.e-stufen__knopf[data-erwartung=""]');
|
||||
await seite.waitForTimeout(600);
|
||||
const nachAlle = await seite.evaluate(() =>
|
||||
document.querySelector('.e-stufen__knopf[aria-pressed="true"]')?.dataset.erwartung);
|
||||
ok(nachAlle === "", `„Alle" ist danach gewaehlt (${JSON.stringify(nachAlle)})`);
|
||||
|
||||
const bloecke = await seite.evaluate(() => {
|
||||
const b = [...document.querySelectorAll(".e-block")];
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user