test(frontend): Wächter gegen deutschen Oberflächentext – und fünf Reste
Konsolidierung: Bestandsaufnahme auf den Stand vom 24.09. gebracht (Punkte 1, 2, 2b und die Tests für documents/tags sind erledigt; sharing, rescan, audit und thumbnails bleiben offen; jsdom ist seit dem 18.09. drin). Beim Nachsehen fielen fünf Übersetzungsreste auf: label="Ganztägig", aria-label="Kalendermenü", label="Bearbeiten" und zweimal "Löschen". Alle in **doppelt** gequoteten JSX-Attributen – die Ersetzungsliste hatte nur die einfach gequoteten, und das damalige Prüfskript hielt Einzelwörter ohne Leerzeichen für Bezeichner. Die Prüfung steht deshalb jetzt als Test, nicht als Skript. Sie läuft bei jedem npm test mit. Der erste Wächter taugte nichts, und das kam nur durch die Mutation heraus: Er prüfte allein auf Umlaute und liess "Papierkorb ist leer" durch. Wer einen Wächter baut, muss ihn einmal angreifen. Jetzt Umlaute plus eine Wortliste mit Wortgrenzen, nachgewiesen an vier Mutationen. Kommentare werden vorher entfernt – mit einem kleinen Durchlauf statt zeilenweise: Blockkommentare haben Fortsetzungszeilen ohne führenden Stern, die beim ersten Versuch fünf Fehlalarme erzeugten. Ehrlich dazu: Das ist ein Netz, kein Beweis. Ein deutscher Satz ohne Umlaut und ohne gelistetes Wort käme durch. Steht so im Test. @types/node kam dazu, weil der Test den Quelltext von der Platte liest. Geprüft: tsc sauber, 48 Vitest-Tests, alle 234 Prüfungen der sieben Selbsttest-Suiten grün. Gebautes Bündel gegengeprüft – deutsche Texte weg, englische da. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e1259dd55c
commit
a7528d7365
8 files changed
+261
-15
No files matched your search
+33
-9
@@ -1,5 +1,21 @@
|
||||
# Bestandsaufnahme, 12.09.2026
|
||||
|
||||
> **Stand 24.09.2026.** Dieses Dokument ist die Aufnahme vom 12.09. Was seither
|
||||
> erledigt wurde, steht an Ort und Stelle durchgestrichen oder vermerkt; die
|
||||
> Kurzfassung:
|
||||
>
|
||||
> | | |
|
||||
> |---|---|
|
||||
> | Punkte 1, 2, 2b, 3 (teilweise) | ✅ erledigt |
|
||||
> | Go-Tests `documents`, `tags` | ✅ 12 Testfunktionen |
|
||||
> | Go-Tests `sharing`, `rescan`, `audit`, `thumbnails` | **offen** |
|
||||
> | Frontend-DOM-Tests | ✅ jsdom seit 18.09., 46 Tests |
|
||||
>
|
||||
> Dazwischen lag eine Woche Oberflächenarbeit, die hier nicht auftaucht, weil
|
||||
> sie keine Befunde abarbeitete: Rückmeldungen mit Rückgängig, Platzhalter,
|
||||
> Leerzustände, Sprache vereinheitlicht, `Intl`. Steht in
|
||||
> [TESTING.md](TESTING.md).
|
||||
|
||||
Einmal durch die ganze Cloud: Code, Sicherheit, offene Enden. Geordnet nach
|
||||
dem, was passieren kann — nicht nach Aufwand.
|
||||
|
||||
@@ -160,14 +176,14 @@ Zwei Tests in `pkg/middleware/logger_test.go` halten es fest.
|
||||
|
||||
**Schwere: mittel. Nicht was heute kaputt ist, sondern was morgen still kaputtgeht.**
|
||||
|
||||
| Paket | Zeilen | Test | Aussenpruefung |
|
||||
| Paket | Zeilen | Test (24.09.) | Aussenpruefung |
|
||||
|---|---:|---:|---|
|
||||
| `internal/tags` | 1132 | **0** | keine |
|
||||
| `internal/documents` (OCR, Volltext) | 1008 | **0** | keine |
|
||||
| `internal/sharing` | 382 | **0** | Python-Selbsttest, 24 Prüfungen |
|
||||
| `internal/rescan` | 479 | **0** | Python-Selbsttest, 20 Prüfungen |
|
||||
| `internal/audit` | 207 | **0** | keine |
|
||||
| `internal/thumbnails` | 113 | **0** | keine |
|
||||
| `internal/tags` | 1338 | **4** ✅ | keine |
|
||||
| `internal/documents` (OCR, Volltext) | 1243 | **8** ✅ | keine |
|
||||
| `internal/sharing` | 347 | **0** | Python-Selbsttest, 24 Prüfungen |
|
||||
| `internal/rescan` | 435 | **0** | Python-Selbsttest, 20 Prüfungen |
|
||||
| `internal/audit` | 180 | **0** | keine |
|
||||
| `internal/thumbnails` | 95 | **0** | keine |
|
||||
|
||||
Bei `sharing` und `rescan` deckt wenigstens ein Selbsttest die Außenseite ab.
|
||||
Bei **`documents` und `tags` gar nichts** — und `documents` ist das Stück, das
|
||||
@@ -251,8 +267,16 @@ gibt:
|
||||
* **Die Fehlversuchssperren liegen im Arbeitsspeicher.** Ein Neustart des
|
||||
Containers hebt jede Sperre auf. Für den Hausgebrauch vertretbar; wer es
|
||||
anders will, braucht eine Tabelle.
|
||||
* **Frontend ohne Komponententests.** `vitest` läuft jetzt (37 Tests), aber nur
|
||||
über reine Funktionen — für DOM-Tests fehlt `jsdom` in den devDependencies.
|
||||
* ~~**Frontend ohne Komponententests.**~~ ✅ **18.09.2026:** `jsdom` ist in den
|
||||
devDependencies, die Umgebung bleibt `node` (schnell); wer ein DOM braucht,
|
||||
schreibt `// @vitest-environment jsdom` an den Anfang seiner Datei. 46 Tests,
|
||||
davon vier gegen ein DOM. Der erste davon hat sofort einen Fehler gefunden –
|
||||
in der Behebung vom Vortag (`useBackClose`).
|
||||
|
||||
**Was er nicht leistet, steht dabei:** Den ursprünglichen Fehler bildet jsdom
|
||||
nicht ab; es verwirft einen Verlaufssprung, sobald `pushState` folgt. Dafür
|
||||
bräuchte es einen echten Browser (Playwright). Nachgeprüft, nicht vermutet:
|
||||
mit der alten, kaputten Fassung blieben alle Tests grün.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user