Compare commits

...

1 Commits

Author SHA1 Message Date
Dan Brown
80204518a2 Page Content: Better handling for empty content filtering
For #6028
2026-02-19 23:25:00 +00:00
2 changed files with 26 additions and 1 deletions

View File

@@ -103,7 +103,13 @@ class HtmlDocument
*/
public function getBody(): DOMNode
{
return $this->document->getElementsByTagName('body')[0];
$bodies = $this->document->getElementsByTagName('body');
if ($bodies->length === 0) {
return new DOMElement('body', '');
}
return $bodies[0];
}
/**

View File

@@ -282,4 +282,23 @@ class PageEditorTest extends TestCase
$resp->assertOk();
$resp->assertDontSee('hellotherethisisaturtlemonster', false);
}
public function test_editor_html_filtered_does_not_cause_error_if_empty()
{
$emptyExamples = ['', '<p></p>', '<p>&nbsp;</p>', ' ', "\n"];
$editor = $this->users->editor();
$page = $this->entities->page();
$page->updated_by = $editor->id;
foreach ($emptyExamples as $emptyExample) {
$page->html = $emptyExample;
$page->save();
$resp = $this->asAdmin()->get($page->getUrl('edit'));
$resp->assertOk();
$resp = $this->asAdmin()->get("/ajax/page/{$page->id}");
$resp->assertOk();
}
}
}