4 use BookStack\Entities\Repos\PageRepo;
6 class PageRepoTest extends TestCase
9 * @var PageRepo $pageRepo
13 protected function setUp()
16 $this->pageRepo = app()->make(PageRepo::class);
19 public function test_get_page_nav_sets_correct_properties()
21 $content = '<h1 id="testa">Hello</h1><h2 id="testb">There</h2><h3 id="testc">Donkey</h3>';
22 $navMap = $this->pageRepo->getPageNav($content);
24 $this->assertCount(3, $navMap);
25 $this->assertArraySubset([
31 $this->assertArraySubset([
37 $this->assertArraySubset([
45 public function test_get_page_nav_does_not_show_empty_titles()
47 $content = '<h1 id="testa">Hello</h1><h2 id="testb"> </h2><h3 id="testc"></h3>';
48 $navMap = $this->pageRepo->getPageNav($content);
50 $this->assertCount(1, $navMap);
51 $this->assertArraySubset([
58 public function test_get_page_nav_shifts_headers_if_only_smaller_ones_are_used()
60 $content = '<h4 id="testa">Hello</h4><h5 id="testb">There</h5><h6 id="testc">Donkey</h6>';
61 $navMap = $this->pageRepo->getPageNav($content);
63 $this->assertCount(3, $navMap);
64 $this->assertArraySubset([
68 $this->assertArraySubset([
72 $this->assertArraySubset([