X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c88eb729a499197e8b3ab9d5019b4426a65d3d41..refs/pull/5313/head:/tests/Unit/PageIncludeParserTest.php diff --git a/tests/Unit/PageIncludeParserTest.php b/tests/Unit/PageIncludeParserTest.php index e0bd69e93..83fded436 100644 --- a/tests/Unit/PageIncludeParserTest.php +++ b/tests/Unit/PageIncludeParserTest.php @@ -2,7 +2,10 @@ namespace Tests\Unit; +use BookStack\Entities\Tools\PageIncludeContent; use BookStack\Entities\Tools\PageIncludeParser; +use BookStack\Entities\Tools\PageIncludeTag; +use BookStack\Util\HtmlDocument; use Tests\TestCase; class PageIncludeParserTest extends TestCase @@ -34,6 +37,15 @@ class PageIncludeParserTest extends TestCase ); } + public function test_complex_inline_text_within_other_text() + { + $this->runParserTest( + '
Hello {{@45#content}}there!
', + ['45' => 'Testing withsomeextratags
'], + 'Hello Testing withsomeextratagsthere!
', + ); + } + public function test_block_content_types() { $inputs = [ @@ -97,6 +109,51 @@ class PageIncludeParserTest extends TestCase ); } + public function test_block_content_in_allowable_parent_element() + { + $this->runParserTest( + 'doggos'], + '
doggos
{{@45#content}}
doggos'], + '
doggos
Cute {{@45#content}} over there!
doggos'], + '
Cute
doggos
over there!
Cute {{@45#content}} over there!
doggos'], + '
doggos
Cute over there!
{{@45#content}}
doggos'], + '
doggos
{{@45}}
', + ['45' => 'Testing
This'], + '
Testing
This', + ); + } + + public function test_multiple_tags_in_same_origin_with_inline_content() + { + $this->runParserTest( + '
This {{@45#content}}{{@45#content}} content is {{@45#content}}
', + ['45' => 'inline
'], + 'This inlineinline content is inline
', + ); + } + + public function test_multiple_tags_in_same_origin_with_block_content() + { + $this->runParserTest( + 'This {{@45#content}}{{@45#content}} content is {{@45#content}}
', + ['45' => 'block'], + '
This
block
block
content is
block', + ); + } + + public function test_multiple_tags_in_differing_origin_levels_with_block_content() + { + $this->runParserTest( + '
This {{@45#content}} content is {{@45#content}}
{{@45#content}}block'], + '
block
This content is
block
block
{{@45}}C{{@45}}
A
B
'], + 'A
B
C
A
B
A
B
A
B