X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/b9a58859a4ef14b7971ca7d07318e1ac6f276b40..refs/pull/3333/head:/tests/Entity/PageContentTest.php diff --git a/tests/Entity/PageContentTest.php b/tests/Entity/PageContentTest.php index 0b99c63c3..b9680d23f 100644 --- a/tests/Entity/PageContentTest.php +++ b/tests/Entity/PageContentTest.php @@ -62,7 +62,9 @@ class PageContentTest extends TestCase public function test_page_includes_do_not_break_tables() { + /** @var Page $page */ $page = Page::query()->first(); + /** @var Page $secondPage */ $secondPage = Page::query()->where('id', '!=', $page->id)->first(); $content = '
test |
var cat = null;
';
+ $secondPage->html = $content;
+ $secondPage->save();
+
+ $page->html = "{{@{$secondPage->id}#bkmrk-code}}";
+ $page->save();
+
+ $pageResp = $this->asEditor()->get($page->getUrl());
$pageResp->assertSee($content, false);
}
@@ -638,17 +657,78 @@ class PageContentTest extends TestCase
$this->deleteImage($imagePath);
}
- public function test_base64_images_within_markdown_blanked_if_not_supported_extension_for_extract()
+ public function test_markdown_base64_extract_not_limited_by_pcre_limits()
{
+ $pcreBacktrackLimit = ini_get('pcre.backtrack_limit');
+ $pcreRecursionLimit = ini_get('pcre.recursion_limit');
+
$this->asEditor();
$page = Page::query()->first();
+ ini_set('pcre.backtrack_limit', '500');
+ ini_set('pcre.recursion_limit', '500');
+
+ $content = str_repeat('a', 5000);
+ $base64Content = base64_encode($content);
+
$this->put($page->getUrl(), [
'name' => $page->name, 'summary' => '',
- 'markdown' => 'test ',
+ 'markdown' => 'test  ',
]);
$page->refresh();
- $this->assertStringContainsString('test
%A
Simple Test |