Im Rahmen von Unit-Tests möchte ich mit PHP die Resultate aus Methoden und Funktionen,
welche mir HTML-Fragmente liefern, einen groben Valditätscheck unterziehen.
Beispiel:
Folgende Randbedingungen gelten für meine Anwendungen:
Das HTML-Fragment wird mit DOMDocument geladen, gefiltert und wieder ausgegeben.
Eine Filterung ist notwendig, da DOMDocument Probleme mit UTF-8 hat
(s.a. zahlreiche User Contributed Notes zu DOMDocument::loadHTML).
Das so erzeugte HTML wird mit dem gelieferten Fragment verglichen.
Unschön sind die Workarounds wegen der UTF-8 Probleme.
Gibt es Tipps zum obigen Vorgehen oder gar einen besseren Weg?
welche mir HTML-Fragmente liefern, einen groben Valditätscheck unterziehen.
Beispiel:
PHP-Code:
$html = '<div id=test>56,40 €</div>'; //" " fehlen
var_dump($test->validateHTML($html)); //bool(false);
- Muß im Browser laufen, da keine Konsole verfügbar ist
- externe Services sind nicht nutzbar (Intranet)
- Es dürfen keine speziellen Erweiterungen notwendig sein, die erst installiert werden müssen (z.B. tidy)
- Megabyte große Frameworkkomponenten fallen auch aus, hab den Speicher auf vielen Zielsystemen nicht
Das HTML-Fragment wird mit DOMDocument geladen, gefiltert und wieder ausgegeben.
Eine Filterung ist notwendig, da DOMDocument Probleme mit UTF-8 hat
(s.a. zahlreiche User Contributed Notes zu DOMDocument::loadHTML).
Das so erzeugte HTML wird mit dem gelieferten Fragment verglichen.
Unschön sind die Workarounds wegen der UTF-8 Probleme.
Gibt es Tipps zum obigen Vorgehen oder gar einen besseren Weg?
Kommentar