Add class MD_STD_HTML_TEST for validating HTML outputs
This commit is contained in:
parent
cbc66c4140
commit
40d83ce5b0
36
src/testing/MD_STD_HTML_TEST.php
Normal file
36
src/testing/MD_STD_HTML_TEST.php
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?PHP
|
||||||
|
/**
|
||||||
|
* Test for ensuring that search HTML pages or components are generated correctly.
|
||||||
|
*
|
||||||
|
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||||
|
*/
|
||||||
|
declare(strict_types = 1);
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for the manifest.
|
||||||
|
*/
|
||||||
|
abstract class MD_STD_HTML_TEST extends TestCase {
|
||||||
|
/**
|
||||||
|
* Validates HTML strings.
|
||||||
|
*
|
||||||
|
* @param string $input Input string to validate.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected static function validateHtmlString(string $input):void {
|
||||||
|
|
||||||
|
self::assertNotEmpty($input);
|
||||||
|
|
||||||
|
libxml_use_internal_errors(true);
|
||||||
|
$xml = simplexml_load_string('<!DOCTYPE HTML><abc>' . trim(strtr($input, [' async' => ' ', ' defer' => ' '])) . '</abc>');
|
||||||
|
if (!empty($errors = libxml_get_errors())) {
|
||||||
|
throw new Exception("Invalid HTML code detected: " . var_export($errors, true) . PHP_EOL . PHP_EOL . $input);
|
||||||
|
}
|
||||||
|
|
||||||
|
self::assertNotEquals(null, $xml);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user