public function testWithSlashAtTheEnd() { $entityManager = $this->getMock('Doctrine\\Common\\Persistence\\ManagerRegistry', array(), array(), '', false); $manager = new PageManager('Foo\\Bar', $entityManager, array()); $homepage = new Page(); $homepage->setUrl('/'); $homepage->setName('homepage'); $bundle = new Page(); $bundle->setUrl('/bundles/'); $bundle->setName('Bundles'); $child = new Page(); $child->setName('foobar'); $bundle->addChildren($child); $homepage->addChildren($bundle); $manager->fixUrl($child); $this->assertEquals('/bundles/foobar', $child->getUrl()); }
public function testFixUrl() { $manager = new PageManager($this->getMock('Doctrine\\ORM\\EntityManager', array(), array(), '', false)); $page1 = new Page(); $page1->setName('Salut comment ca va ?'); $page2 = new Page(); $page2->setName('Super! et toi ?'); $page1->addChildren($page2); $manager->fixUrl($page1); $this->assertEquals($page1->getSlug(), 'salut-comment-ca-va'); $this->assertEquals($page1->getUrl(), '/salut-comment-ca-va'); $parent = new Page(); $parent->setRouteName('homepage'); $parent->addChildren($page1); $manager->fixUrl($parent); $this->assertEquals($parent->getSlug(), null); // homepage is a specific route name $this->assertEquals($parent->getUrl(), '/'); $this->assertEquals($page1->getSlug(), 'salut-comment-ca-va'); $this->assertEquals($page1->getUrl(), '/salut-comment-ca-va'); $this->assertEquals($page2->getSlug(), 'super-et-toi'); $this->assertEquals($page2->getUrl(), '/salut-comment-ca-va/super-et-toi'); }
public function testPageTypeError() { $page = new Page(); $page->setName('global'); $page->setRouteName('_page_internal_error_global'); $this->assertFalse($page->isCms(), 'isCms'); $this->assertFalse($page->isDynamic(), 'isDynamic'); $this->assertFalse($page->isHybrid(), 'isHybrid'); $this->assertTrue($page->isInternal(), 'isInternal'); $this->assertTrue($page->isError(), 'isError'); }
public function testParents() { $root = new Page(); $root->setName('root'); $level1 = new Page(); $level1->setName('level 1'); $level2 = new Page(); $level2->setName('level 2'); $page = new Page(); $page->setName('page'); $level1->setParent($root); $level2->setParent($level1); $page->setParent($level2); $parent = $page->getParent(); $this->assertEquals('level 2', $parent->getName()); $parent = $page->getParent(0); $this->assertEquals('root', $parent->getName()); $parent = $page->getParent(1); $this->assertEquals('level 1', $parent->getName()); }