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'); }