Example #1
0
 /**
  * @covers Page::getAccessLogic
  * @covers Page::setAccessLogic
  * @covers Page::checkAccess
  */
 public function testGetAccessLogic()
 {
     $page = new Page('Page 1');
     $page->setAccessLogic(function (PageInterface $page) {
         return strpos($page->getTitle(), 'Page') !== false;
     });
     $page2 = $page->addPage('Page 2');
     $page3 = $page2->addPage('Page 3');
     $page3->setAccessLogic(function (PageInterface $page) {
         return 'Page 2' == $page->getTitle();
     });
     $this->assertTrue(is_callable($page->getAccessLogic()));
     $this->assertTrue(is_callable($page3->getAccessLogic()));
     $this->assertTrue(is_callable($page2->getAccessLogic()));
     $this->assertTrue($page->checkAccess());
     $this->assertTrue($page2->checkAccess());
     $this->assertFalse($page3->checkAccess());
 }