Added test to check page HTML id de-duplication

Relates to #1393
This commit is contained in:
Dan Brown 2019-04-20 13:01:22 +01:00
parent c653618eab
commit 6c66a8935a
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
2 changed files with 18 additions and 0 deletions

View File

@ -139,6 +139,7 @@ class PageRepo extends EntityRepo
if ($htmlText == '') {
return $htmlText;
}
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTML(mb_convert_encoding($htmlText, 'HTML-ENTITIES', 'UTF-8'));

View File

@ -159,4 +159,21 @@ class PageContentTest extends TestCase
$pageView = $this->get($pageB->getUrl());
$pageView->assertSuccessful();
}
public function test_duplicate_ids_fixed_on_page_save()
{
$this->asEditor();
$page = Page::first();
$content = '<p id="bkmrk-test">test a</p>'."\n".'<p id="bkmrk-test">test b</p>';
$pageSave = $this->put($page->getUrl(), [
'name' => $page->name,
'html' => $content,
'summary' => ''
]);
$pageSave->assertRedirect();
$updatedPage = Page::where('id', '=', $page->id)->first();
$this->assertEquals(substr_count($updatedPage->html, "bkmrk-test\""), 1);
}
}