diff --git a/server/pruef-community-sicht.mjs b/server/pruef-community-sicht.mjs index cc1b1422..fb4b49df 100644 --- a/server/pruef-community-sicht.mjs +++ b/server/pruef-community-sicht.mjs @@ -160,9 +160,25 @@ const FREMDE_WOERTER = [ "Pipeline", "überfällig", "In Arbeit", "Abgebrochen", ]; +/* ZWEI BREITEN, NICHT EINE. + + Die Community ist ueberwiegend mit dem Telefon unterwegs. Eine + Messung auf 1400 px beantwortet fuer sie die falsche Frage -- und + genau auf dem Handy sind heute die haesslichsten Sachen aufgefallen + (drei verschiedene Kartenanordnungen, ein Hinweis quer ueber der + naechsten Beschriftung). Was auf einer Breite in Ordnung ist, muss + es auf der anderen nicht sein. */ +const BREITEN = [ + { name: "Rechner", breite: 1400, hoehe: 1000 }, + { name: "Handy", breite: 412, hoehe: 915 }, +]; + const browser = await pw.chromium.launch(); try { - const ctx = await browser.newContext({ viewport: { width: 1400, height: 1000 } }); + for (const geraet of BREITEN) { + const ctx = await browser.newContext({ + viewport: { width: geraet.breite, height: geraet.hoehe }, + isMobile: geraet.breite < 700, hasTouch: geraet.breite < 700 }); await ctx.addCookies(kGast.split("; ").filter(Boolean).map((z) => { const [name, ...rest] = z.split("="); return { name, value: rest.join("="), domain: "127.0.0.1", path: "/" }; @@ -183,7 +199,7 @@ try { } melde(""); - melde("=== 2. Wege, die ins Leere fuehren ==="); + melde(`=== 2. Wege, die ins Leere fuehren (${geraet.name}) ===`); let toteWege = 0, geprueftLinks = 0; const gefunden = []; for (const ziel of ziele) { @@ -205,12 +221,24 @@ try { } /* DIE ANZAHL GEHÖRT IN DIE BEDINGUNG. Ohne sie wäre „0 tote Wege" auch dann wahr, wenn gar keine Seite geladen hätte. */ - ok(geprueftLinks >= 20 && toteWege === 0, + /* DIE UNTERGRENZE WIRD ABGELEITET, NICHT GESETZT. + + Hier stand `>= 20`. Auf dem Rechner sind es 27 Wege, auf dem Handy + 18 -- dort klappt die Kopfleiste um, und ein Teil der Links ist + nicht sichtbar. Die feste Zahl machte die Pruefung auf der + zweiten Breite rot, ohne dass irgendetwas falsch war. + + Sie einfach auf 15 zu senken waere derselbe Fehler mit einer + anderen Zahl. Verlangt wird jetzt, was die Sache selbst hergibt: + mindestens ein sichtbarer Weg je Seite. Findet sich weniger, hat + etwas nicht geladen -- und dann ist „0 tote Wege" keine Auskunft, + sondern ein Messfehler. */ + ok(geprueftLinks >= ziele.length && toteWege === 0, `${geprueftLinks} sichtbare Wege auf ${ziele.length} Seiten, davon ${toteWege} ins Leere`); for (const g of gefunden.slice(0, 10)) console.log(` -> ${g}`); melde(""); - melde("=== 3. Sprache, die jemand anderem gehoert ==="); + melde(`=== 3. Sprache, die jemand anderem gehoert (${geraet.name}) ===`); let fremd = 0; const wo = []; for (const ziel of ziele) { @@ -234,7 +262,7 @@ try { ===================================================================== */ melde(""); melde("=== 4. Und behaelt das Team seine Wege? ==="); - { + if (geraet.breite > 700) { const ctx2 = await browser.newContext({ viewport: { width: 1400, height: 1000 } }); await ctx2.addCookies(kDogi.split("; ").filter(Boolean).map((z) => { const [name, ...rest] = z.split("="); @@ -253,10 +281,13 @@ try { } melde(""); - melde("=== 5. Und laeuft ueberhaupt alles? ==="); + melde(`=== 5. Und laeuft ueberhaupt alles? (${geraet.name}) ===`); ok(skriptfehler.length === 0, - `kein Skriptfehler auf ${ziele.length} Seiten` + `kein Skriptfehler auf ${ziele.length} Seiten (${geraet.name})` + (skriptfehler.length ? ` -- ${skriptfehler[0]}` : "")); + + await ctx.close(); + } } finally { await browser.close(); }