/**
  * @covers Navigation::filterByAccessRights
  */
 public function testFilterByAccessRights()
 {
     $pages = [['title' => 'Page 1', 'url' => 'http://site.com/page-1'], ['title' => 'Page 2', 'url' => 'http://site.com/page-2', 'pages' => [['title' => 'Page 5', 'url' => 'http://site.com/page-2/page-5'], ['title' => 'Page 6', 'url' => 'http://site.com/page-2/page-6']]], ['title' => 'Page 3', 'url' => 'http://site.com/page-3'], ['title' => 'Page 4', 'url' => 'http://site.com/page-3']];
     $navigation = new Navigation($pages);
     $this->assertEquals(6, $navigation->countPages());
     $navigation->setAccessLogic(function ($page) {
         return $page->getTitle() == 'Page 2';
     });
     $navigation->filterByAccessRights();
     $this->assertEquals(1, $navigation->countPages());
     $this->assertEquals('Page 2', $navigation->getPages()->first()->getTitle());
     $navigation = new Navigation($pages);
     $navigation->setAccessLogic(function ($page) {
         return $page->getTitle() == 'Page 2' or $page->isChild();
     });
     $navigation->filterByAccessRights();
     $this->assertEquals(3, $navigation->countPages());
     $this->assertEquals(2, $navigation->getPages()->first()->countPages());
     $this->assertEquals('Page 2', $navigation->getPages()->first()->getTitle());
 }