Issue #2511306 by ElusiveMind, JeroenT, leolando.tan: Error: Call to a member function getElementsByTagName() in filter.module
parent
e54454a346
commit
7d37585e3c
|
@ -292,14 +292,16 @@ EOD;
|
|||
$body_node = $document->getElementsByTagName('body')->item(0);
|
||||
$html = '';
|
||||
|
||||
foreach ($body_node->getElementsByTagName('script') as $node) {
|
||||
static::escapeCdataElement($node);
|
||||
}
|
||||
foreach ($body_node->getElementsByTagName('style') as $node) {
|
||||
static::escapeCdataElement($node, '/*', '*/');
|
||||
}
|
||||
foreach ($body_node->childNodes as $node) {
|
||||
$html .= $document->saveXML($node);
|
||||
if ($body_node !== NULL) {
|
||||
foreach ($body_node->getElementsByTagName('script') as $node) {
|
||||
static::escapeCdataElement($node);
|
||||
}
|
||||
foreach ($body_node->getElementsByTagName('style') as $node) {
|
||||
static::escapeCdataElement($node, '/*', '*/');
|
||||
}
|
||||
foreach ($body_node->childNodes as $node) {
|
||||
$html .= $document->saveXML($node);
|
||||
}
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
|
|
@ -312,4 +312,17 @@ class HtmlTest extends UnitTestCase {
|
|||
$this->assertSame('<em>répété</em>', $escaped);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* Tests Html::serialize().
|
||||
*
|
||||
* Resolves an issue by where an empty DOMDocument object sent to serialization would
|
||||
* cause errors in getElementsByTagName() in the serialization function.
|
||||
*
|
||||
* @covers ::serialize
|
||||
*/
|
||||
public function testSerialize() {
|
||||
$document = new \DOMDocument();
|
||||
$result = Html::serialize($document);
|
||||
$this->assertSame('', $result);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue