diff --git a/server/pruef-reaktion.mjs b/server/pruef-reaktion.mjs index c411803e..77ab1e79 100644 --- a/server/pruef-reaktion.mjs +++ b/server/pruef-reaktion.mjs @@ -831,12 +831,45 @@ melde("=== 12. Die Regie ==="); "der Beenden-Knopf liegt in der Leiste -- also auch dann erreichbar, " + "wenn die Regie zugeklappt ist"); - /* Und die Kuerzel, die das Programm bindet, stehen auch dabei. - Ein Kuerzel, das niemand kennt, ist keins. */ - const legende = (html.match(/

[\s\S]*?<\/p>/) || [""])[0]; - for (const [taste, wort] of [["Leertaste", "Leertaste"], ["M", "M"], ["N", "N"]]) { - ok(legende.includes(`${wort}`), `das Kuerzel ${taste} steht in der Legende`); + /* ==== JEDE TASTE STEHT AN IHREM KNOPF ======================== + + Hier wurde bis zum 28.09. eine LEGENDE geprueft: ein Absatz am + Ende der Regie, der alle Kuerzel aufzaehlte. Der stand hinter + ALLEN Registern -- also auch unter „Ton" und „Spenden", wo + keines davon etwas tut. Und eine Legende zwingt dazu, vom Knopf + zur Liste zu schauen und zurueck. + + Jetzt steht jede Taste an dem Knopf, den sie bedient. Geprueft + wird deshalb nicht mehr, ob sie IRGENDWO steht, sondern ob sie + am RICHTIGEN Knopf steht -- ein Kuerzel an der falschen Stelle + ist schlimmer als keins. */ + const nahBei = (kennung, taste) => { + const i = html.indexOf(`id="${kennung}"`); + if (i < 0) return false; + /* Vom Knopfanfang bis zu seinem Ende -- nicht weiter, sonst + zaehlte die Taste des Nachbarn mit. */ + const bis = html.indexOf("", i); + return bis > 0 && html.slice(i, bis).includes(`${taste}`); + }; + for (const [kennung, taste, wo] of [ + ["v-zurueck", "←", "zehn Sekunden zurueck"], + ["v-vor", "→", "zehn Sekunden vor"], + ["v-naechstes", "N", "Naechstes"], + ["v-tauschen", "T", "Wechseln"], + ]) { + ok(nahBei(kennung, taste), `die Taste ${taste} steht an „${wo}"`); } + ok(/Leertaste<\/kbd><\/span>/.test(html), + "und die Leertaste unter dem Play-Knopf"); + ok(/id="s-mikro-wort">Mikro<\/span>M<\/kbd>/.test(html), + "das M am Mikro-Knopf"); + ok(/1<\/kbd> bis 5<\/kbd>/.test(html), + "und Eins bis Fuenf bei der Anordnung"); + /* GEGENPROBE: Die alte Legende darf NICHT mehr dastehen -- sonst + stuende dasselbe zweimal, und beim naechsten Kuerzel pflegt + jemand nur eine der beiden Stellen. */ + ok(!/

/.test(html), + "Gegenprobe: die Legende hinter allen Registern ist weg"); ok(/taste === 'm' \|\| taste === 'M'/.test(js) && /taste === 'n' \|\| taste === 'N'/.test(js), "und das Programm hoert auch darauf"); ok(/closest\('input, textarea, select/.test(js), diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index 5db7bc16..c331c83a 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,8 +16,8 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +