Temporaere Hilfsdatei aus dem Projekt entfernt
patch15.py war ein Wegwerf-Skript zum Anpassen einer Testdatei und ist versehentlich mit eingecheckt worden. Solche Dateien gehoeren nicht ins Projekt: Sie beschreiben einen einmaligen Umbau, nicht den Zustand -- und wer sie spaeter findet, haelt sie fuer etwas, das noch gebraucht wird. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
-107
@@ -1,107 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
import io
|
|
||||||
|
|
||||||
p = 'pruef-verwaltung-schmuck.mjs'
|
|
||||||
s = io.open(p, encoding='utf-8').read()
|
|
||||||
|
|
||||||
# --- Glas-Abschnitt: es traegt jetzt nur noch das Detailblatt Unschaerfe ---
|
|
||||||
alt = ''' console.log("\\n===== 2. TRAEGT ALLES GLAS, WORAUF GELESEN WIRD? =====");
|
|
||||||
const glas = await seite.evaluate(() => {
|
|
||||||
const pruefen = [".vw-karte", ".vw-filter-knopf", ".vw-wer"];
|
|
||||||
const raus = {};
|
|
||||||
for (const w of pruefen) {
|
|
||||||
const el = document.querySelector("#vw-bereich " + w);
|
|
||||||
if (!el) { raus[w] = "(nicht gefunden)"; continue; }
|
|
||||||
const st = getComputedStyle(el);
|
|
||||||
raus[w] = st.backdropFilter || st.webkitBackdropFilter || "keins";
|
|
||||||
}
|
|
||||||
return raus;
|
|
||||||
});
|
|
||||||
for (const [w, wert] of Object.entries(glas)) {
|
|
||||||
if (wert === "(nicht gefunden)") continue;
|
|
||||||
pruefe(` ${w} hat Rueckseiten-Unschaerfe`, /blur/.test(wert), wert.slice(0, 34));
|
|
||||||
}'''
|
|
||||||
|
|
||||||
neu = ''' console.log("\\n===== 2. BLEIBT DER TEXT VOM BILD GETRENNT? =====");
|
|
||||||
/* Frueher wurde hier "traegt alles Glas?" geprueft. Das war zu teuer:
|
|
||||||
Eine Rueckseiten-Unschaerfe kostet Rechenzeit PRO ELEMENT, und zwar
|
|
||||||
bei jeder Bewegung neu. Mit sechs Kacheln fiel die Bildrate auf
|
|
||||||
6,4 Bilder je Sekunde, bei echter Mausbewegung sogar auf 4,5.
|
|
||||||
|
|
||||||
Entscheidend ist nicht die Unschaerfe, sondern dass der Text nicht
|
|
||||||
auf dem Bild steht. Das leistet auch eine dichte Flaeche -- und die
|
|
||||||
kostet nichts. Genau das wird jetzt geprueft. */
|
|
||||||
const flaechen = await seite.evaluate(() => {
|
|
||||||
const el = document.querySelector("#vw-probe .vw-karte");
|
|
||||||
if (!el) return null;
|
|
||||||
const st = getComputedStyle(el);
|
|
||||||
return { hintergrund: st.backgroundImage, unschaerfe: st.backdropFilter };
|
|
||||||
});
|
|
||||||
pruefe("die Kachel hat eine eigene Flaeche unter dem Text",
|
|
||||||
flaechen && /gradient/.test(flaechen.hintergrund),
|
|
||||||
flaechen ? "Verlauf vorhanden" : "keine Kachel");
|
|
||||||
|
|
||||||
/* Das Detailblatt behaelt die Unschaerfe: Davon gibt es immer nur
|
|
||||||
genau eines, und es liegt gross ueber der Seite -- dort faellt die
|
|
||||||
Rechenzeit einmal an, nicht pro Listeneintrag. */
|
|
||||||
const blatt = await seite.evaluate(() => {
|
|
||||||
const el = document.querySelector(".vw-detail-blatt");
|
|
||||||
if (!el) return "(nicht auf der Seite)";
|
|
||||||
return getComputedStyle(el).backdropFilter || "keins";
|
|
||||||
});
|
|
||||||
if (blatt !== "(nicht auf der Seite)") {
|
|
||||||
pruefe("das Detailblatt behaelt seine Unschaerfe", /blur/.test(blatt), blatt.slice(0, 30));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Die Bildrate ist selbst ein Pruefpunkt. Ohne ihn waere jederzeit
|
|
||||||
ein weiterer huebscher Effekt dazugekommen, der die Seite still
|
|
||||||
wieder zaeh macht. */
|
|
||||||
const bildrate = await seite.evaluate(() => new Promise((fertig) => {
|
|
||||||
let n = 0;
|
|
||||||
const start = performance.now();
|
|
||||||
const zaehl = () => {
|
|
||||||
n++;
|
|
||||||
if (performance.now() - start < 1200) requestAnimationFrame(zaehl);
|
|
||||||
else fertig(n / ((performance.now() - start) / 1000));
|
|
||||||
};
|
|
||||||
requestAnimationFrame(zaehl);
|
|
||||||
}));
|
|
||||||
pruefe("die Seite laeuft in Ruhe fluessig (ueber 45 Bilder/s)",
|
|
||||||
bildrate > 45, bildrate.toFixed(1) + " Bilder/s");'''
|
|
||||||
|
|
||||||
assert alt in s, 'Glas-Abschnitt nicht gefunden'
|
|
||||||
s = s.replace(alt, neu, 1)
|
|
||||||
|
|
||||||
# --- Lampen-Abschnitt: sie ist bewusst abgeschaltet ---
|
|
||||||
alt2 = ''' pruefe("Buehne und Lampe stecken in einem isolierten Raum",
|
|
||||||
extra.raumIsoliert === "isolate", extra.raumIsoliert);'''
|
|
||||||
neu2 = ''' pruefe("Buehne und Lampe stecken in einem isolierten Raum",
|
|
||||||
extra.raumIsoliert === "isolate", extra.raumIsoliert);
|
|
||||||
|
|
||||||
/* Die Vollbild-Zeigerlampe ist ABGESCHALTET -- eine Entscheidung,
|
|
||||||
kein Versehen. Zusammen mit den Glasflaechen kostete sie zwei
|
|
||||||
Drittel der Bildrate: Jede ihrer Bewegungen zwang jede Flaeche
|
|
||||||
darueber zum Neurechnen.
|
|
||||||
|
|
||||||
Das Licht, das dem Zeiger folgt, gibt es weiterhin auf den Kacheln
|
|
||||||
selbst. Es ist billig, weil es nur die Kachel unter dem Zeiger
|
|
||||||
betrifft statt des ganzen Bildschirms. */
|
|
||||||
const lampeAus = await seite.evaluate(() =>
|
|
||||||
getComputedStyle(document.querySelector(".vw-lampe")).display);
|
|
||||||
pruefe("die Vollbild-Lampe ist bewusst aus", lampeAus === "none", lampeAus);'''
|
|
||||||
assert alt2 in s, 'Lampen-Abschnitt nicht gefunden'
|
|
||||||
s = s.replace(alt2, neu2, 1)
|
|
||||||
|
|
||||||
# --- Die alten Lampen-Pruefungen entfernen ---
|
|
||||||
for weg in [
|
|
||||||
''' pruefe("die Lampe beleuchtet, statt zu ueberdecken",
|
|
||||||
extra.mischung === "soft-light", extra.mischung);''',
|
|
||||||
''' pruefe("sie folgt dem Zeiger", extra.mx === "1050px" && extra.my === "380px",
|
|
||||||
extra.mx + " / " + extra.my);''',
|
|
||||||
''' pruefe("und war vor der ersten Zeigerbewegung aus", extra.lampeAn === true);''',
|
|
||||||
]:
|
|
||||||
if weg in s:
|
|
||||||
s = s.replace(weg, '', 1)
|
|
||||||
|
|
||||||
io.open(p, 'w', encoding='utf-8', newline='').write(s)
|
|
||||||
print('Test an die neue Aufteilung angepasst')
|
|
||||||
Reference in New Issue
Block a user