X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/5e6092aaf8fd420202016038286554860bf8ea64..refs/pull/3008/head:/tests/Entity/PageContentTest.php
diff --git a/tests/Entity/PageContentTest.php b/tests/Entity/PageContentTest.php
index 193f81400..ca2a24131 100644
--- a/tests/Entity/PageContentTest.php
+++ b/tests/Entity/PageContentTest.php
@@ -305,6 +305,28 @@ class PageContentTest extends TestCase
$pageView->assertDontSee('abc123abc123');
}
+ public function test_svg_xlink_hrefs_are_removed()
+ {
+ $checks = [
+ '',
+ '',
+ ];
+
+ $this->asEditor();
+ $page = Page::query()->first();
+
+ foreach ($checks as $check) {
+ $page->html = $check;
+ $page->save();
+
+ $pageView = $this->get($page->getUrl());
+ $pageView->assertStatus(200);
+ $pageView->assertElementNotContains('.page-content', 'alert');
+ $pageView->assertElementNotContains('.page-content', 'xlink:href');
+ $pageView->assertElementNotContains('.page-content', 'application/xml');
+ }
+ }
+
public function test_page_inline_on_attributes_show_if_configured()
{
$this->asEditor();
@@ -572,7 +594,7 @@ class PageContentTest extends TestCase
$this->deleteImage($imagePath);
}
- public function test_base64_images_blanked_if_not_supported_extension_for_extract()
+ public function test_base64_images_within_html_blanked_if_not_supported_extension_for_extract()
{
$this->asEditor();
$page = Page::query()->first();
@@ -585,4 +607,40 @@ class PageContentTest extends TestCase
$page->refresh();
$this->assertStringContainsString('html);
}
+
+ public function test_base64_images_get_extracted_from_markdown_page_content()
+ {
+ $this->asEditor();
+ $page = Page::query()->first();
+
+ $this->put($page->getUrl(), [
+ 'name' => $page->name, 'summary' => '',
+ 'markdown' => 'test ',
+ ]);
+
+ $page->refresh();
+ $this->assertStringMatchesFormat('%A
test %A