X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a17be959d8b148f439305498ada0babd1b0ca2c7..refs/pull/3333/head:/tests/Entity/PageContentTest.php diff --git a/tests/Entity/PageContentTest.php b/tests/Entity/PageContentTest.php index d3a00ebde..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);
}
public function test_page_includes_rendered_on_book_export()
@@ -106,7 +125,7 @@ class PageContentTest extends TestCase
$pageView = $this->get($page->getUrl());
$pageView->assertStatus(200);
- $pageView->assertDontSee($script);
+ $pageView->assertDontSee($script, false);
$pageView->assertSee('abc123abc123');
}
@@ -260,8 +279,8 @@ class PageContentTest extends TestCase
$pageView = $this->get($page->getUrl());
$pageView->assertStatus(200);
- $pageView->assertDontSee($script);
- $pageView->assertSee('Hello
'); + $pageView->assertDontSee($script, false); + $pageView->assertSee('Hello
', false); } public function test_more_complex_inline_on_attributes_escaping_scenarios() @@ -301,7 +320,7 @@ class PageContentTest extends TestCase $page->save(); $pageView = $this->get($page->getUrl()); - $pageView->assertSee($script); + $pageView->assertSee($script, false); $pageView->assertDontSee('abc123abc123'); } @@ -338,8 +357,8 @@ class PageContentTest extends TestCase $page->save(); $pageView = $this->get($page->getUrl()); - $pageView->assertSee($script); - $pageView->assertDontSee('Hello
'); + $pageView->assertSee($script, false); + $pageView->assertDontSee('Hello
', false); } public function test_duplicate_ids_does_not_break_page_render() @@ -545,7 +564,7 @@ class PageContentTest extends TestCase $pageView = $this->get($page->getUrl()); $pageView->assertStatus(200); - $pageView->assertSee($content); + $pageView->assertSee($content, false); } public function test_base64_images_get_extracted_from_page_content() @@ -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 |