1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 22:10:45 +02:00

[ticket/15538] Add icon tests

PHPBB3-15538
This commit is contained in:
mrgoldy
2019-10-31 19:36:19 +01:00
parent b4b6ba0a37
commit fea97cd115
6 changed files with 192 additions and 7 deletions

View File

@@ -125,6 +125,9 @@ class icon extends \Twig\Extension\AbstractExtension
*/
protected function prepare_svg(\Twig\TemplateWrapper $file)
{
$code = $file->render();
$code = preg_replace( "/<\?xml.+?\?>/", '', $code);
$doc = new \DOMDocument();
$doc->preserveWhiteSpace = false;
@@ -132,7 +135,16 @@ class icon extends \Twig\Extension\AbstractExtension
* Suppression is needed as DOMDocument does not like HTML5 and SVGs.
* Options parameter prevents $dom->saveHTML() from adding an <html> element.
*/
@$doc->loadHTML($file->render(), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
@$doc->loadHTML($code, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
// Remove any DOCTYPE
foreach ($doc->childNodes as $child)
{
if ($child->nodeType === XML_DOCUMENT_TYPE_NODE)
{
$child->parentNode->removeChild($child);
}
}
$xpath = new \DOMXPath($doc);