]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageContentTest.php
Fixed tests from streaming changes
[bookstack] / tests / Entity / PageContentTest.php
index cf1ecd84d44782d48ca5e7958edc210598ef4002..b9680d23fc80598746bff0f096255b9083ceda1d 100644 (file)
@@ -659,14 +659,14 @@ class PageContentTest extends TestCase
 
     public function test_markdown_base64_extract_not_limited_by_pcre_limits()
     {
-        $pcreBacktrackLimit = ini_get("pcre.backtrack_limit");
-        $pcreRecursionLimit = ini_get("pcre.recursion_limit");
+        $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");
+        ini_set('pcre.backtrack_limit', '500');
+        ini_set('pcre.recursion_limit', '500');
 
         $content = str_repeat('a', 5000);
         $base64Content = base64_encode($content);
@@ -686,41 +686,49 @@ class PageContentTest extends TestCase
         $this->assertEquals($content, file_get_contents($imageFile));
 
         $this->deleteImage($imagePath);
-        ini_set("pcre.backtrack_limit", $pcreBacktrackLimit);
-        ini_set("pcre.recursion_limit", $pcreRecursionLimit);
+        ini_set('pcre.backtrack_limit', $pcreBacktrackLimit);
+        ini_set('pcre.recursion_limit', $pcreRecursionLimit);
     }
 
     public function test_base64_images_within_markdown_blanked_if_not_supported_extension_for_extract()
     {
-        $this->asEditor();
         $page = Page::query()->first();
 
-        $this->put($page->getUrl(), [
+        $this->asEditor()->put($page->getUrl(), [
             'name'     => $page->name, 'summary' => '',
             'markdown' => 'test ![test](data:image/jiff;base64,' . $this->base64Jpeg . ')',
         ]);
 
-        $page->refresh();
-        $this->assertStringContainsString('<img src=""', $page->html);
+        $this->assertStringContainsString('<img src=""', $page->refresh()->html);
     }
 
     public function test_nested_headers_gets_assigned_an_id()
     {
-        $this->asEditor();
         $page = Page::query()->first();
 
         $content = '<table><tbody><tr><td><h5>Simple Test</h5></td></tr></tbody></table>';
-        $this->put($page->getUrl(), [
+        $this->asEditor()->put($page->getUrl(), [
             'name'    => $page->name,
             'html'    => $content,
-            'summary' => '',
         ]);
 
-        $updatedPage = Page::query()->where('id', '=', $page->id)->first();
-
         // The top level <table> node will get assign the bkmrk-simple-test id because the system will
         // take the node value of h5
         // So the h5 should get the bkmrk-simple-test-1 id
-        $this->assertStringContainsString('<h5 id="bkmrk-simple-test-1">Simple Test</h5>', $updatedPage->html);
+        $this->assertStringContainsString('<h5 id="bkmrk-simple-test-1">Simple Test</h5>', $page->refresh()->html);
+    }
+
+    public function test_non_breaking_spaces_are_preserved()
+    {
+        /** @var Page $page */
+        $page = Page::query()->first();
+
+        $content = '<p>&nbsp;</p>';
+        $this->asEditor()->put($page->getUrl(), [
+            'name'    => $page->name,
+            'html'    => $content,
+        ]);
+
+        $this->assertStringContainsString('<p id="bkmrk-%C2%A0">&nbsp;</p>', $page->refresh()->html);
     }
 }