Community-Pruefung: auch auf dem Handy, und ohne feste Schwelle
Die Community ist ueberwiegend mit dem Telefon unterwegs -- eine Messung auf 1400 px beantwortet fuer sie die falsche Frage. Und genau auf dem Handy waren heute die haesslichsten Sachen: drei verschiedene Kartenanordnungen, ein Hinweis quer ueber der naechsten Beschriftung. Dabei fiel gleich eine feste Zahl auf: Die Pruefung verlangte mindestens 20 sichtbare Wege. Auf dem Rechner sind es 27, auf dem Handy 18 -- dort klappt die Kopfleiste um. Die Pruefung wurde also auf der zweiten Breite rot, ohne dass etwas falsch war. Sie 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" kein Ergebnis, sondern ein Messfehler. 10 Pruefungen, 0 Fehler, auf beiden Breiten. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -160,9 +160,25 @@ const FREMDE_WOERTER = [
|
|||||||
"Pipeline", "überfällig", "In Arbeit", "Abgebrochen",
|
"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();
|
const browser = await pw.chromium.launch();
|
||||||
try {
|
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) => {
|
await ctx.addCookies(kGast.split("; ").filter(Boolean).map((z) => {
|
||||||
const [name, ...rest] = z.split("=");
|
const [name, ...rest] = z.split("=");
|
||||||
return { name, value: rest.join("="), domain: "127.0.0.1", path: "/" };
|
return { name, value: rest.join("="), domain: "127.0.0.1", path: "/" };
|
||||||
@@ -183,7 +199,7 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
melde("");
|
melde("");
|
||||||
melde("=== 2. Wege, die ins Leere fuehren ===");
|
melde(`=== 2. Wege, die ins Leere fuehren (${geraet.name}) ===`);
|
||||||
let toteWege = 0, geprueftLinks = 0;
|
let toteWege = 0, geprueftLinks = 0;
|
||||||
const gefunden = [];
|
const gefunden = [];
|
||||||
for (const ziel of ziele) {
|
for (const ziel of ziele) {
|
||||||
@@ -205,12 +221,24 @@ try {
|
|||||||
}
|
}
|
||||||
/* DIE ANZAHL GEHÖRT IN DIE BEDINGUNG. Ohne sie wäre „0 tote Wege"
|
/* DIE ANZAHL GEHÖRT IN DIE BEDINGUNG. Ohne sie wäre „0 tote Wege"
|
||||||
auch dann wahr, wenn gar keine Seite geladen hätte. */
|
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`);
|
`${geprueftLinks} sichtbare Wege auf ${ziele.length} Seiten, davon ${toteWege} ins Leere`);
|
||||||
for (const g of gefunden.slice(0, 10)) console.log(` -> ${g}`);
|
for (const g of gefunden.slice(0, 10)) console.log(` -> ${g}`);
|
||||||
|
|
||||||
melde("");
|
melde("");
|
||||||
melde("=== 3. Sprache, die jemand anderem gehoert ===");
|
melde(`=== 3. Sprache, die jemand anderem gehoert (${geraet.name}) ===`);
|
||||||
let fremd = 0;
|
let fremd = 0;
|
||||||
const wo = [];
|
const wo = [];
|
||||||
for (const ziel of ziele) {
|
for (const ziel of ziele) {
|
||||||
@@ -234,7 +262,7 @@ try {
|
|||||||
===================================================================== */
|
===================================================================== */
|
||||||
melde("");
|
melde("");
|
||||||
melde("=== 4. Und behaelt das Team seine Wege? ===");
|
melde("=== 4. Und behaelt das Team seine Wege? ===");
|
||||||
{
|
if (geraet.breite > 700) {
|
||||||
const ctx2 = await browser.newContext({ viewport: { width: 1400, height: 1000 } });
|
const ctx2 = await browser.newContext({ viewport: { width: 1400, height: 1000 } });
|
||||||
await ctx2.addCookies(kDogi.split("; ").filter(Boolean).map((z) => {
|
await ctx2.addCookies(kDogi.split("; ").filter(Boolean).map((z) => {
|
||||||
const [name, ...rest] = z.split("=");
|
const [name, ...rest] = z.split("=");
|
||||||
@@ -253,10 +281,13 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
melde("");
|
melde("");
|
||||||
melde("=== 5. Und laeuft ueberhaupt alles? ===");
|
melde(`=== 5. Und laeuft ueberhaupt alles? (${geraet.name}) ===`);
|
||||||
ok(skriptfehler.length === 0,
|
ok(skriptfehler.length === 0,
|
||||||
`kein Skriptfehler auf ${ziele.length} Seiten`
|
`kein Skriptfehler auf ${ziele.length} Seiten (${geraet.name})`
|
||||||
+ (skriptfehler.length ? ` -- ${skriptfehler[0]}` : ""));
|
+ (skriptfehler.length ? ` -- ${skriptfehler[0]}` : ""));
|
||||||
|
|
||||||
|
await ctx.close();
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
await browser.close();
|
await browser.close();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user